黑马程序员技术交流社区

标题: ListFile 问题 [打印本页]

作者: 唐志海    时间: 2014-1-15 14:53
标题: ListFile 问题
  1. import java.io.*;

  2. public class ListFileDemo
  3. {
  4.         public static void main(String[]args)
  5.         {
  6.                 File dir=new File("D:\\");
  7.                 show(dir);
  8.                
  9.         }
  10.         public static void show(File dir)
  11.         {
  12.                 File[] ff=dir.listFiles();
  13.                 for(File file:ff)
  14.                 {
  15.                         if(file.isDirectory())
  16.                                         show(file);
  17.                         else
  18.                                 System.out.println(file);
  19.                 }
  20.         }
  21. }
复制代码
为什么会出现java.lang.NullPointerException异常。
作者: 强子    时间: 2014-1-15 15:25
可能是因为权限问题呦,由于windows限制,有些盘符 目录  不是那么容易进去的
  1. import java.io.*;

  2. public class ListFileDemo
  3. {
  4.         public static void main(String[]args)
  5.         {
  6.                 File dir=new File("D:\\");
  7.                 show(dir);
  8.                
  9.         }
  10.         public static void show(File dir)
  11.         {
  12.                 System.out.println(dir);
  13.                 File[] ff=dir.listFiles();
  14.                 for(File file:ff)
  15.                 {
  16.                         if(file.isDirectory())
  17.                                         show(file);
  18.                         else
  19.                                 System.out.println(file);
  20.                 }
  21.         }
  22. }
复制代码

加一句输出,就知道是哪个目录出的问题了,再验证一下这个目录能否访问,希望对你有帮助哦!
作者: 唐志海    时间: 2014-1-15 16:25
强子 发表于 2014-1-15 15:25
可能是因为权限问题呦,由于windows限制,有些盘符 目录  不是那么容易进去的

加一句输出,就知道是哪个目 ...

        if(!(file.isHidden())&&file.isDirectory())发现只要加个不是隐藏文件的话就可以消除这个空指针异常了。
作者: 黄晓鑫    时间: 2014-1-15 22:52
可能有些文件被隐藏了 而虚拟机是不访问隐藏文件的




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