老师写的这个代码应该不能输出子目录下的空文件的地址吧,递归调用的时候有一个判断文件是否为空的语句,如果子目录下有空文件夹,不就直接忽略了吗?
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 ); 他就会把目录也打印下来。
?