问答详情
源自:2-2 遍历目录

关于子目录下的空文件夹

老师写的这个代码应该不能输出子目录下的空文件的地址吧,递归调用的时候有一个判断文件是否为空的语句,如果子目录下有空文件夹,不就直接忽略了吗?

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());
}

这样写应该才能完全打印吧

提问者:慕数据0424730 2019-11-04 16:15

个回答

  • 幕布斯7473508
    2019-11-26 16:44:01

    他这个只是打印文件,而不是目录。

    if(file.isDirectory())//这个判断的是是不是目录,如果是就递归。把它下面的文件路径打印出来。
    你如果要打印目录其实可以在递归前加上这段代码:System.out.print( file );
    他就会把目录也打印下来。

    ?