老师写的这个代码应该不能输出子目录下的空文件的地址吧,递归调用的时候有一个判断文件是否为空的语句,如果子目录下有空文件夹,不就直接忽略了吗?
File[] files = dir.listFiles();//返回的是直接子目录(文件)的抽象
if (files != null && files.length > 0) {
for (File file : files) {
if (file.isDirectory()) {
listDirectory(file);
} else {
System.out.println(file);
}
}
}else{
System.out.println(dir.getName());
}这样写应该才能完全打印吧
他这个只是打印文件,而不是目录。
if(file.isDirectory())//这个判断的是是不是目录,如果是就递归。把它下面的文件路径打印出来。 你如果要打印目录其实可以在递归前加上这段代码:System.out.print( file ); 他就会把目录也打印下来。
?