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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马云 中级黑马   /  2012-3-29 18:22  /  2209 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String[] args) throws IOException {
问题:        //在这里dir如果用E盘根目录就会报异常-java.lang.NullPointerException-如果不是根目录就没问题。
                //我就想从根目录开始,该咋整啊?
                 File dir = new File("E:"+File.separator);
                 List<File> list = new ArrayList<File>();
                 fileToList(dir,list,"jpg");
                 System.out.println(list.size());
         }
.
         public static void fileToList(File dir, List<File> list, String suffix) {
                 File[] files = dir.listFiles();
                 for(File file : files) {
                         if(file.isDirectory()) {
                                 fileToList(file,list,suffix);
                         }else if(file.getName().endsWith(suffix)) {
                                 list.add(file);
                         }
                 }

        }

2 个回复

正序浏览
你需要把根目下隐藏的文件给过滤掉,这样才能访问。判断语句 if(file.isDirectory())改成 if(!files[x].isHidden()&&files[x].isDirectory()) 就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马