黑马程序员技术交流社区

标题: 关于File类一个疑惑 [打印本页]

作者: 宁振庄    时间: 2012-9-24 19:14
标题: 关于File类一个疑惑
本帖最后由 宁振庄 于 2012-9-24 20:03 编辑

看到老毕的File类视频的代码
import java.io.File;

public class FileDemo3 {
        public static void main(String[] args) {
                File file = new File("D:\\java");
                getFiles(file);
        }
      
// 列出指定目录下的文件夹
        private static void getFiles(File file) {
                System.out.println(file.getName());
                File[] files = file.listFiles();
                for(File f : files){             //如果file文件夹中没有内容,返回是空的话,应该会报空指针异常吧? 这里为什么不会报异常呢?
                        if(f.isDirectory()){
                                getFiles(f);
                        }else{
                                System.out.println(f.getName());
                        }
                }
        }
}
作者: 明光照    时间: 2012-9-24 19:54
因为有你指定的那个文件夹。遍历的时候是从你指定的那个文件夹开始的。所以数组中不是空的。当你指定的文件夹不存存时就会报错。
javaaa//我指定的这个目录不存在。所以报错
Exception in thread "main" java.lang.NullPointerException
        at Test.TestFile.getFiles(TestFile.java:16)
        at Test.TestFile.main(TestFile.java:9)

作者: 尤圣回    时间: 2012-9-24 19:57
空指针说明是没有对象的引用
这句话File[] files = file.listFiles();已经创建了对象 当然不会报空指针异常啦





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