慕粉4066036
2016-10-08 21:30
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);
//如果要遍历子目录下的内容就需要构造成file对象做地柜操作,file提供了直接返回file对象的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 自动生成的方法存根
FileUtils.listDirectory(new File("F:\\example"));
}
}
你的代码在判断是否为目录的那行,if的判断条件 dir.isDirectory() 结果为true 却抛异常。判断条件前加个!就OK了
你要看报错信息啊亲,第15行,if后面括号里少了!,条件判断反了
为什么你代码里是F盘图上是E盘,不然就是你这个路径不对!没有这个文件路径会报错!
文件传输基础——Java IO流
133755 学习 · 1030 问题
相似问题