如何在Java中迭代某个目录的文件?
可能重复:
最好的方法来遍历java中的目录?
我想用Java处理每个文件在一个特定的目录。
什么是最简单(也是最常见)的方式呢?
如果您在myDirectoryPath有目录名称, 
 import java.io.File; ... File dir = new File(myDirectoryPath); File[] directoryListing = dir.listFiles(); if (directoryListing != null) { for (File child : directoryListing) { // Do something with child } } else { // Handle the case where dir is not really a directory. // Checking dir.isDirectory() above would not be sufficient // to avoid race conditions with another process that deletes // directories. } 
 我想有很多方法可以做出你想要的。 这是我使用的一种方法。 使用commons.io库,您可以迭代目录中的文件。 您必须使用FileUtils.iterateFiles方法,您可以处理每个文件。 
你可以在这里find这个信息: http : //commons.apache.org/proper/commons-io/download_io.cgi
这是一个例子:
 Iterator it = FileUtils.iterateFiles(new File("C:/"), null, false); while(it.hasNext()){ System.out.println(((File) it.next()).getName()); } 
 如果您想过滤,您可以更改null并放置一个扩展列表。 例如: {".xml",".java"} 
这是一个列出我的桌面上的所有文件的例子。 你应该改变pathvariables到你的path。
而不是用System.out.println打印文件的名字,你应该把自己的代码放在文件上。
 public static void main(String[] args) { File path = new File("c:/documents and settings/Zachary/desktop"); File [] files = path.listFiles(); for (int i = 0; i < files.length; i++){ if (files[i].isFile()){ //this line weeds out other directories/folders System.out.println(files[i]); } } } 
 使用java.io.File.listFiles 
 要么 
 如果要在迭代之前过滤列表(或者更复杂的用例),请使用apache-commons FileUtils。  FileUtils.listFiles