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