子目录是空文件夹就不会打印出来?
最后遍历所有文件 包括子目录的时候 如果是空文件夹,空文件夹的名字就打印不出来了,这是BUG么?
最后遍历所有文件 包括子目录的时候 如果是空文件夹,空文件夹的名字就打印不出来了,这是BUG么?
2017-11-03
因为递归之后是有判断某个目录下的长度的,而当递归遍历到空文件夹时,它的长度为0,就不会执行for里面的语句了,就更无法执行for里面的打印语句了。
可以运行一下下面的代码,会每次递归都输出长度,容易理解
File[] filename=dir.listFiles();
//遍历该数组
//for (File string : filename) {
// System.out.println(string);
//}
//2、调用list()方法罗列文件
// String[] filename2=dir.list();
//for (String string : filename2) {
// System.out.println(string);
// }
//3、让它列出所有的内容
System.out.println(filename.length);
if(filename!=null&&filename.length>0) {
for (File file : filename) {
if(file.isDirectory()){
//递归
listDirectory(file);
System.out.println(file);
}else{
System.out.println(file);
}
}
举报