为了账号安全,请及时绑定邮箱和手机立即绑定

总是抛出不是目录的异常

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"));


}


}


正在回答

3 回答

你的代码在判断是否为目录的那行,if的判断条件  dir.isDirectory()  结果为true  却抛异常。判断条件前加个!就OK了

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

你要看报错信息啊亲,第15行,if后面括号里少了!,条件判断反了

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

为什么你代码里是F盘图上是E盘,不然就是你这个路径不对!没有这个文件路径会报错!

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

举报

0/150
提交
取消
文件传输基础——Java IO流
  • 参与学习       133762    人
  • 解答问题       1030    个

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

进入课程

总是抛出不是目录的异常

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信