亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

listDirectory(file);在使用過程中報錯,并不像老師那樣直接寫出來就能用

package?com.pb.io;

import?java.io.File;
import?java.io.IOException;

public?class?FileUtils?{
	/*
	?*?列出指定目錄下(包括其子目錄的所有文件)
	?*/
	public?static?void?listDirectoryFile(File?dir)?throws?IOException{
		
		if(!dir.exists()){
			throw?new?IllegalArgumentException("目錄:"+dir+"不存在");
		}
		if(!dir.isDirectory()){
			throw?new?IllegalArgumentException(dir+"不是目錄");
		}
		
		/*String[]?filenames=?dir.list();
		
		for?(String?string?:?filenames)?{
			System.out.println(string);
		}*/
		File[]?files=dir.listFiles()?;
		
		if(files.length>0?&&?files!=null){
			for?(File?file?:?files)?{
				if(file.isDirectory()){
					listDirectory(file);
				}
				else{
					System.out.println(file);
			}
			}
		}
	}

	

	
}


正在回答

7 回答

老師講的這里使用的遞歸操作,“listDirecrory(file)”方法遞歸調用已經定義好的“listDirecrory(file)”方法。
你這段程序定義的方法是“listDirectoryFile(File?dir)”,下面調用的也必須是“listDirectoryFile(file)”方法,這才是遞歸調用!

0 回復 有任何疑惑可以回復我~

這個是自己定義的方法,以為當出現子目錄的時候重新調用方法,而不是java 的API有這個方法,是你自己定義的。

0 回復 有任何疑惑可以回復我~

你定義的是這個方法listDirectoryFile

用到是這個方法listDirectory ?當然會報錯,說你沒定義這個方法

1 回復 有任何疑惑可以回復我~

你解決了嗎

0 回復 有任何疑惑可以回復我~

你的名字錯了 應該是listDirectoryFile?

2 回復 有任何疑惑可以回復我~

遞歸調用時file會調到最后一個文件二不是文件夾,則會觸發class前面if(!dir.isDirectory()) 報錯,

0 回復 有任何疑惑可以回復我~
#1

戴德萊恩

遞歸調用時已經用if判斷過是Directory。所以并不會在前面的if(!dir.isDirectory()) 報錯。 也就是遞歸調用出現文件的時候就直接else輸出文件名了,不會執行listDirectory(file); 應該就是這樣了
2015-11-09 回復 有任何疑惑可以回復我~

報什么錯的,貼一下報錯信息

0 回復 有任何疑惑可以回復我~
#1

lsying

The method listDirectory() is undefined for the type FileUtils這是怎么回事
2016-08-12 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

listDirectory(file);在使用過程中報錯,并不像老師那樣直接寫出來就能用

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號