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);
}
}
}
}
}
2016-10-04
老師講的這里使用的遞歸操作,“listDirecrory(file)”方法遞歸調用已經定義好的“listDirecrory(file)”方法。
你這段程序定義的方法是“listDirectoryFile(File?dir)”,下面調用的也必須是“listDirectoryFile(file)”方法,這才是遞歸調用!
2016-08-27
這個是自己定義的方法,以為當出現子目錄的時候重新調用方法,而不是java 的API有這個方法,是你自己定義的。
2016-08-18
你定義的是這個方法listDirectoryFile
用到是這個方法listDirectory ?當然會報錯,說你沒定義這個方法
2016-08-12
你解決了嗎
2015-11-29
你的名字錯了 應該是listDirectoryFile?
2015-11-05
遞歸調用時file會調到最后一個文件二不是文件夾,則會觸發class前面if(!dir.isDirectory()) 報錯,
2015-09-28
報什么錯的,貼一下報錯信息