是否可以运行基于文件名数组的方法?例如,我希望创建给定目录中所有文件的数组 - 其中 this问题讨论 - 但我随后希望对数组中的所有文件/文件名应用一种方法。
这样做的原因是因为我有 300 个(即将成为 500 个)图像文件,我希望对其执行某个功能,并且必须在其中编写同一功能的 300-500 个单独实例显然是荒谬的main()
方法有很多明显的原因(而且,图像的数量将来可能会增加,这肯定会让这种方法变得更加可笑)。
因此,我想知道是否可以使用数组来存储文件名,然后使用每个数组位置 0-299
中的文件名来执行该功能说图像文件。
类似这样的事情:
Create array of FileNames;
For
all filenames 0-299 in array;
perform method(filename(0-299));
End for
我已经编写了相关代码来执行该功能,我只需要知道是否有一种方法可以更有效地实现我的目标。
更简单的表达方法是询问如何在给定目录中的所有文件(而不是子目录)上运行方法?
非常感谢。
最佳答案
public void processFiles() {
File dir = new File("/tmp/");
if (dir.isDirectory()) {
final File[] files = dir.listFiles();
for (File file : files) {
myMethod(file);
}
}
}
private void myMethod(File file) {
// do what you need here with the file
}
关于Java - 使用文件名数组对每个文件运行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9064563/