黑马程序员技术交流社区

标题: 递归遍历目录的一个小问题 [打印本页]

作者: 马云    时间: 2012-3-29 18:22
标题: 递归遍历目录的一个小问题
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);
                         }
                 }

        }
作者: 王运科    时间: 2012-3-30 18:40
你需要把根目下隐藏的文件给过滤掉,这样才能访问。判断语句 if(file.isDirectory())改成 if(!files[x].isHidden()&&files[x].isDirectory()) 就可以了




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