日期:2014-05-20  浏览次数:20771 次

JAVA7如何遍历一个目录下的所有文件,如何知道该目录下文件的数量??求大神指教
public static void createDir(){  
  Path path = Paths.get("d:/gch");  
  try {  
  //创建文件夹  
  if(Files.notExists(path)){  
  Files.createDirectories(path);  
  System.out.println("create dir");  
  }else{  
  System.out.println("dir exists");  
  }  
  //在创建的文件夹下建几个txt文件,例如  
  //2.txt  
  //ff 文件夹  
  //java.bat  
  //_java.txt  
  //遍历文件夹下面的文件  
  DirectoryStream<Path> paths = Files.newDirectoryStream(path);  
  System.out.println(Files.size(path));
   
  for(Path p : paths){  
  System.out.println(p.getFileName());  
   
  //这样是可以遍历,但是如何知道该目录下的所有文件有多少个呢?查了API 找不到方法啊 }  
  System.out.println();  
  //创建一个带有过滤器,过滤文件名以java txt bat结尾的文件  
  DirectoryStream<Path> pathsFilter = Files.newDirectoryStream(path, "*.{java,txt,bat}");  
  for(Path p : pathsFilter){  
  System.out.println(p.getFileName());  
  }  
  } catch (IOException e) {  
  e.printStackTrace();  
  }  


上面是在网上找到的代码,虽然能得到目录下所有文件,但是找不到方法获得该目录下文件的数量??该怎么获得呢??求指教!!!而且path没有删除的方法,查api有delete方法的,但是我配置了jdk1.7 为什么没有delete方法呢

------解决方案--------------------
探讨

由于目录下的文件多的可怕,每次File[] fs = f.listFiles();程序会死掉,所以考虑jdk1.7 请问有什么办法么?、