Java - 读取文件夹上的许多txt文件并处理它们

ale*_*rob 7 java

我跟着这个问题:

现在在我的情况下,我有720个以这种方式命名的文件:"dom 24 mar 2013_00.50.35_128.txt",每个文件都有不同的日期和时间.在测试阶段,我使用Scanner和特定的txt文件对其进行一些操作:

扫描仪s =新扫描仪(新文件("stuff.txt"));

我的问题是:

如何重用扫描仪并读取所有720个文件而无需在扫描仪上设置准确的名称?

谢谢

ars*_*jii 14

假设您在一个地方拥有所有文件:

File dir = new File("path/to/files/");

for (File file : dir.listFiles()) {
    Scanner s = new Scanner(file);
    ...
    s.close();
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果您有任何不想包含的文件,可以提供listFiles()一个FileFilter参数来过滤掉它们.

  • 该死的,你只是打败了我:) +1击败我的答案 (2认同)

hax*_*ode 7

是的,通过将文件对象指向目录来创建文件对象,然后列出该目录的文件.

File dir = new File("Dir/ToYour/Files");

if(dir.isDir()) {
   for(File file : dir.listFiles()) {
      if(file.isFile()) {
         //do stuff on a file
      }
   }
} else {
   //do stuff on a file
}
Run Code Online (Sandbox Code Playgroud)