Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-使用文件名数组在每个文件上运行方法_Java_Arrays - Fatal编程技术网

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

Java-使用文件名数组在每个文件上运行方法,java,arrays,Java,Arrays,是否可以运行基于文件名数组的方法?例如,我希望在给定目录中创建一个包含所有文件的数组(这是问题所讨论的),但随后我希望对数组中的所有文件/文件名应用一个方法 这是因为我有300个(很快将是500个)图像文件,我希望在这些文件上执行一个函数,而出于许多明显的原因,必须在main()方法中编写同一函数的300-500个单独实例,这显然是荒谬的(此外,未来图像的数量可能会增加,这肯定会使这种方法更加可笑) 因此,我想知道是否可以使用数组存储文件名,然后使用每个数组位置的文件名0-299对所述图像文件执

是否可以运行基于文件名数组的方法?例如,我希望在给定目录中创建一个包含所有文件的数组(这是问题所讨论的),但随后我希望对数组中的所有文件/文件名应用一个方法

这是因为我有300个(很快将是500个)图像文件,我希望在这些文件上执行一个函数,而出于许多明显的原因,必须在
main()
方法中编写同一函数的300-500个单独实例,这显然是荒谬的(此外,未来图像的数量可能会增加,这肯定会使这种方法更加可笑)

因此,我想知道是否可以使用数组存储文件名,然后使用每个数组位置的文件名
0-299
对所述图像文件执行该功能

大概是这样的:

Create array of FileNames;

For
    all filenames 0-299 in array;
    perform method(filename(0-299));
End for
我已经编写了执行该功能的相关代码,我只需要知道是否有一种方法可以更有效地实现我的目标

一种更简单的方法是询问如何在给定目录中的所有文件(而不是子目录)上运行方法

非常感谢。

首先,使用是在Java中处理集合的首选方法

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集合很容易迭代,您可以使用增强的:
for(File f:collectionoffices){…}

在这个增强的for each循环中,您只需调用该方法,即可对文件执行任何操作。

首先,使用是Java中处理集合的首选方法

Java集合很容易迭代,您可以使用增强的:
for(File f:collectionoffices){…}


在这个增强的for each循环中,您只需调用该方法即可对您的文件执行任何操作。

让我们看看您迄今为止编写的相关代码。我认为这是真正理解您所说内容的唯一方法。使用您发布的链接中的vashs回答。事实上,我可以确认这不是hom工作,事实上,这是我为自己的利益而从事的一项私人工作。对于那些做出这一假设的人,我只能告诉你们,你们是错误的。关于所讨论的代码,这里和那里都不能考虑这一点——我的问题仅仅是询问如何着手实施一些新的东西不管是我自己的方法,还是一个简单的
System.out.print(“Text”),都不知道将要使用什么代码
声明。让我们看看你迄今为止所写的相关代码。我认为这是真正理解你所说内容的唯一途径。通过vashs在你发布的链接上的回答。事实上,我可以确认这不是家庭作业,事实上,这是我为自己的利益而进行的私人工作。对于那些我已经做出了这样的假设,我只能告诉你你是不正确的。关于所讨论的代码,这里和那里都不能考虑——我的问题仅仅是询问如何实现一些东西,而不管将要使用什么代码,无论它是我自己的方法,还是简单的
System.out.print(“Text”);
语句。可能有人注意到缺少开头大括号;-)但仍然-这不应该是否决投票的原因,因为你的答案是好的可能有人注意到缺少开头大括号;-)但仍然-这不应该是否决投票的原因,因为你的答案是好的