可能重複:
Best way to iterate through a directory in java?如何在Java中遍歷某個目錄的文件?
我要處理在使用Java某個目錄中的每個文件。
這樣做最簡單(也是最常見)的方法是什麼?
可能重複:
Best way to iterate through a directory in 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.
}
下面是我列出桌面上的所有文件的例子。您應該將路徑變量更改爲您的路徑。
不要使用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公地文件實用程序。 FileUtils.listFiles
我想有很多方法可以製作你想要的東西。這是我使用的一種方法。使用commons.io
庫,您可以迭代目錄中的文件。您必須使用FileUtils.iterateFiles
方法,並且您可以處理每個文件。
你可以在這裏找到所需的信息: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"}
重複:http://stackoverflow.com/questions/3154488/best-way-to-iterate-through-a-directory-in-java – Olhovsky 2011-02-07 00:55:42