如何在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]);
}
}
}
答
我想有很多方法可以制作你想要的东西。这是我使用的一种方法。使用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://*.com/questions/3154488/best-way-to-iterate-through-a-directory-in-java – Olhovsky 2011-02-07 00:55:42