如何在Java中迭代某个目录的文件?

2022-08-31 08:49:52

可能的重复:
在java中迭代目录的最佳方法?

我想使用Java处理某个目录中的每个文件。

最简单(也是最常见)的方法是什么?


答案 1

如果 目录中有目录名称,则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.
  }

答案 2

我想有很多方法可以制作你想要的东西。这是我使用的一种方式。使用该库,您可以循环访问目录中的文件。您必须使用该方法,并且可以处理每个文件。commons.ioFileUtils.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"}