0

我有一个 java 程序,它读取文件文本中的每一行并处理文件的文本,然后打印结果。我需要对特定文件夹(目录)中存在的每个文件执行相同的操作。所以,我需要程序遍历文件夹中的每个文件并提取文本..等的内容。我的问题是如何使用 Java 遍历文件夹中的每个文件。

4

2 回答 2

6

一旦你创建了一个File引用目录的对象,你可以调用listFiles来获取目录中所有文件的数组。

// assuming myDir is the File object that represents the directory
File[] dirContent = myDir.listFiles();
for (File f : dirContent)
{
    if (!f.isDirectory())
    {
        // process file.
    }
}

File#listFiles(FileFilter)或者,您可以通过调用适当的文件过滤器来仅获取不是目录的文件列表。例如:

// assuming myDir is the File object that represents the directory
File[] dirContent = myDir.listFiles(new FileFilter() {
    @Override boolean accept(File pathname)
    {
        return !pathname.isDirectory();
    }
});
for (File f : dirContent)
{
    // process file.
}
于 2012-10-14T22:22:25.150 回答
0

我只想抛出另一种方法来做到这一点。这个文件搜索和处理软件: http: //www.softpedia.com/get/File-managers/JFileProcessor.shtml https://github.com/stant/jfileprocessor

将允许您按名称、大小、日期在 X 或所有深度的子文件夹中搜索带有 glob 或正则表达式的文件。您可以保存到列表窗口或文件。然后你可以运行一个groovy(想想java)脚本来对文件列表做任何你想做的事情;zip 或 tar,修改列表字符串,如 sed、删除、移动、复制文件、grep 或 ls -l 它们,等等。它还可以让您按摩您的列表,例如添加,删除,从另一个列表中减去一个列表。

于 2017-09-01T22:50:50.710 回答