黑马程序员技术交流社区

标题: 想请假下问题出现那里:关于递归遍历C盘所有的文件 [打印本页]

作者: WK_Tian    时间: 2016-9-4 23:30
标题: 想请假下问题出现那里:关于递归遍历C盘所有的文件
本帖最后由 WK_Tian 于 2016-9-4 23:48 编辑

public class Demo {
        public static void main(String[] args) throws IOException {
                                   File fff = new File("c:");
                printlnn(fff);
       }
                  public static void printlnn(File files) {
                       File[] file = files.listFiles();
                       for (File f : file) {
                              if(f.isFile()) {
                                          System.out.println(f.getAbsolutePath());
                               }else {
                                             printlnn(f);
                               }
                      }
              }
}
提示:
java.lang.NullPointerException
但是比如C:aaa文件夹则可以遍历所有的文件没问题
????????{:2_44:}
作者: 小超超    时间: 2016-9-4 23:42
好厉害啊。
作者: 小僧法号兔兔    时间: 2016-9-5 11:11
C盘有些文件夹是系统文件夹,没有权限不遍历.你可以改其它的盘符试试,(也可能是你的路劲不对,应该写成C:\\)
作者: wb277379322    时间: 2016-9-5 11:48
来看看怎么回事
作者: WK_Tian    时间: 2016-9-5 19:03
小僧法号兔兔 发表于 2016-9-5 11:11
C盘有些文件夹是系统文件夹,没有权限不遍历.你可以改其它的盘符试试,(也可能是你的路劲不对,应该写成C:\\) ...

C\\也不行,其他硬盘都不行{:2_33:}
作者: a825125501    时间: 2016-9-5 19:04
c:\\  或者c:/  试一下
作者: LShu    时间: 2016-9-5 20:23
c盘里面有一些是隐藏文件来的,直接遍历打印肯定是有问题的,可以加个异常除了跳过去除隐藏文件




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2