String[] files = file.list();
获取String数组再逐个创建File,应该不会超过内存.

解决方案 »

  1.   

    卖白菜的命 操卖白X的心
    先看看操作系统允许放的文件个数吧
    http://blog.csdn.net/leonwei/article/details/3980179
      

  2.   

    呵呵,ext3 ext4上可创建的文件数比你那个链接里多太多了
      

  3.   

    Java7已经提供了新的工具类Files。楼主,可以看看Java7的介绍try(DirectoryStream<Path> dir = Files.newDirectoryStream(Paths.get("F:\\"))){
    for(Path path : dir){
    System.out.println(path);
    }
        /*
        Iterator<Path> it = dir.iterator();
          while(it.hasNext()){
      Path path = it.next();
      System.out.println(path);
         }
       */
    }java核心技术第九版已经详细的介绍了这个类的使用!