A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 封明川 中级黑马   /  2012-7-12 16:36  /  1412 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 封明川 于 2012-7-13 12:09 编辑

import java.io.File;

public class FileDemo3 {
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                File dir = new File("d:\\");
                showDir(dir);                        
        }

        public static void showDir(File dir)
        {
                System.out.println(dir);
                File[] files = dir.listFiles();
               
                for(int x=0; x<files.length; x++)
                {
                        if(files[x].isDirectory())
                                showDir(files[x]);
                        else
                                System.out.println(files[x]);
                }
        }
}

视频上毕老师的也是这样写的啊
为什么我遍历到后面就出问题了呢
到下面这个文件的时候就出问题了,没想明白
d:\System Volume Information
Exception in thread "main" java.lang.NullPointerException
        at iostreamdemo.FileDemo3.showDir(FileDemo3.java:23)
        at iostreamdemo.FileDemo3.showDir(FileDemo3.java:26)
        at iostreamdemo.FileDemo3.main(FileDemo3.java:13)

4 个回复

倒序浏览
本帖最后由 朱东方 于 2012-7-12 16:57 编辑

为什么我不去掉public就编译不了呢,去掉了就可以编译了。

浏览完文件也出现了错误,不知道为什么。
回复 使用道具 举报
朱东方 发表于 2012-7-12 16:50
为什么我不去掉public就编译不了呢,去掉了就可以编译了。

浏览完文件也出现了错误,不知道为什么。

public修饰的类必须和你保持的Java文件同名
回复 使用道具 举报
public class FileDemo3 {
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                File dir = new File("d:\\");
                showDir(dir);                        
        }

        public static void showDir(File dir)
        {
                System.out.println(dir);
                File[] files = dir.listFiles();
               
                for(int x=0; x<files.length; x++)
                {
                        if(files[x].isDirectory()&&!(files[x].isHidden())) //因为那个是隐藏文件 java无法访问所以就报空指针
                                                                   //  异常了加个判断非隐藏好了

                                showDir(files[x]);
                        else
                                System.out.println(files[x]);
                }
        }
}

点评

谢谢了啊,这次没有出现错误了 不过毕老师也是这位写的啊,也能访问隐藏文件啊 我这个出现这种问题是什么原因呢?  发表于 2012-7-12 22:04

评分

参与人数 1技术分 +1 收起 理由
蒋映辉 + 1

查看全部评分

回复 使用道具 举报
achilles 发表于 2012-7-12 20:10
public修饰的类必须和你保持的Java文件同名

原来是这么回事啊,记住了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马