Java - 使用文件名数组对每个文件运行方法

标签 java arrays

是否可以运行基于文件名数组的方法?例如,我希望创建给定目录中所有文件的数组 - 其中 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/

相关文章:

java - 如何使用 jaxb 在 XML 中自动递增 id

java - JPA OneToMany、ManyToOne 双向

java - 将时间戳转换为相对时间

java - Android 将 2d int 数组从一个 Activity 传递到另一个 ERROR

arrays - Julia:在数组数组中广播结果

java - Android 使用 2 个不同的 ArrayList 填充相同的自定义 ListView 布局

Java射击游戏删除子弹对象

java - 为什么我的代码中单线程比多线程更快?

java - 如何使用另一个组合框控制一个组合框?

javascript - 从拆分输入动态创建多维数组