總是拋出不是目錄的異常
Exception in thread "main" java.lang.IllegalArgumentException: F:\example不是目錄
at imooc.file.FileUtils.listDirectory(FileUtils.java:15)
at imooc.file.FileUtilTest1.main(FileUtilTest1.java:10)
package imooc.file;
import java.io.File;
import java.io.IOException;
//列出file類的一些常用的操作比如過渡,遍歷等
public class FileUtils {
public static void listDirectory(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);
//如果要遍歷子目錄下的內(nèi)容就需要構(gòu)造成file對(duì)象做地柜操作,file提供了直接返回file對(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 imooc.file;
import java.io.File;
import java.io.IOException;
public class FileUtilTest1 {
public static void main(String[] args) throws IOException {
// TODO 自動(dòng)生成的方法存根
FileUtils.listDirectory(new File("F:\\example"));
}
}
2016-11-23
你的代碼在判斷是否為目錄的那行,if的判斷條件? dir.isDirectory()? 結(jié)果為true? 卻拋異常。判斷條件前加個(gè)!就OK了
2016-10-29
你要看報(bào)錯(cuò)信息啊親,第15行,if后面括號(hào)里少了!,條件判斷反了
2016-10-08
為什么你代碼里是F盤圖上是E盤,不然就是你這個(gè)路徑不對(duì)!沒有這個(gè)文件路徑會(huì)報(bào)錯(cuò)!