不知道為什么顯示異常了
Exception?in?thread?"main"?java.lang.IllegalArgumentException:?D:\eclipse-workspace\project01\src\package1不是目錄 ????at?com.javaio.test.FileUtils.listDirectory(FileUtils.java:11) ????at?com.javaio.test.FileUtilTest1.main(FileUtilTest1.java:8)
package?com.javaio.test; import?java.io.File; import?java.io.IOException; public?class?FileUtils?{ ????public?static?void?listDirectory(File?dir)?throws?IOException{ ????????if(!dir.exists())?{ ????????????throw?new?IllegalArgumentException("目錄"?+?dir?+?"不存在。");????????} ????????if(dir.isDirectory())?{//用于判斷file類的對(duì)象是否是目錄 ????????????throw?new?IllegalArgumentException(dir?+?"不是目錄"); ????????} ????????//list方法用于列出當(dāng)前目錄下的子目錄和文件。 ????????String?fileNames[]?=?dir.list(); ????????for(String?str?:?fileNames)?{ ????????????System.out.println(str); ????????} ????????//如果要遍歷子目錄下的內(nèi)容就需要構(gòu)造成file對(duì)象做遞歸操作,F(xiàn)ile提供了返回對(duì)象的API. ????????File[]?files?=?dir.listFiles();//返回的是直接子目錄(文件)的抽象 ????????for(File?file?:?files)?{ ????????????System.out.println(file); ????????} ????????if(files?!=?null?&&?files.length?>?0)?{ ????????????for(File?file?:?files)?{ ????????????????if(file.isDirectory()) ????????????????????listDirectory(file);//遞歸 ????????????????else ????????????????????System.out.println(file); ????????????} ????????} ????} }
package?com.javaio.test; import?java.io.File; import?java.io.IOException; public?class?FileUtilTest1?{ ????public?static?void?main(String[]?args)?throws?IOException?{ ????????FileUtils.listDirectory(new?File("D:\\eclipse-workspace\\project01\\src\\package1")); ???????? ????} }
測(cè)試的時(shí)候?qū)懥撕枚嗄夸浂际钱惓o@示該目錄不存在我都是直接從e盤copy的路徑
2018-08-27
?
if
(dir.isDirectory())?{
//用于判斷file類的對(duì)象是否是目錄
????????????
throw
?new
?IllegalArgumentException(dir?+?
"不是目錄"
);
????????
}
判斷里面應(yīng)該是:不是文件夾的話就拋出異常,如果是就遍歷文件,應(yīng)該加!