黑马程序员技术交流社区

标题: 遍历文件问题 [打印本页]

作者: 李计伟    时间: 2012-11-10 19:50
标题: 遍历文件问题
本帖最后由 李计伟 于 2012-11-10 20:17 编辑

  1.      import java.io.File;
  2.         public class Test{
  3.               public static void main(String[] args) {
  4.                     File file = new File("E:\\");
  5.                     printArrayFile(file);
  6.               }
  7.               private static void printArrayFile(File file) {
  8.                     File[] arrayFile = file.listFiles();
  9.                     for(File f : arrayFile){
  10.                     //判断是否为文件
  11.                     if(f.isDirectory()){
  12.                     //递归调用
  13.                     printArrayFile(f);
  14.                     }else{
  15.                     System.out.println(f.getName());
  16.                      }
  17.                 }
  18.              }
  19.         }
复制代码
我这个遍历D盘所有的文件为什么会出NullPointerException异常

作者: 朱宏青    时间: 2012-11-10 19:55
我测试了一下

递归程序最后出异常了 我估计是超出范围了.

递归这个东西就是这样,一旦数据量大就不好用 呜 就是这样.
作者: 葛旭东    时间: 2012-11-10 20:14
你的出现了空指针异常,先判断再遍历文件
  1. import java.io.File;

  2.    public class Test{

  3.          public static void main(String[] args) {

  4.                File file = new File("E:\\");

  5.                printArrayFile(file);

  6.          }

  7.          private static void printArrayFile(File file) {
  8.                if(file.listFiles()!=null)   //这儿添加判断,看看文件列表是否为空,空的话会出现空指针异常
  9.                { File[] arrayFile = file.listFiles();

  10.                for(File f : arrayFile){

  11.                //判断是否为文件

  12.                if(f.isDirectory()){

  13.                //递归调用
  14.                printArrayFile(f);

  15.                }
  16.                else{

  17.                System.out.println(f.getName());

  18.                 }

  19.            }

  20.         }
  21.          }

  22.    }
复制代码





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