Javaでディレクトリ内のすべてのファイルを処理する方法

再帰を使って、フォルダ内のすべてのファイルを走査できます。以下にサンプルコードを示します。

import java.io.File;

public class FileTraversal {

  public static void main(String[] args) {
    File folder = new File("path/to/folder");
    traverseFolder(folder);
  }

  public static void traverseFolder(File folder) {
    if (folder.isDirectory()) {
      File[] files = folder.listFiles();
      if (files != null) {
        for (File file : files) {
          traverseFolder(file);
        }
      }
    } else {
      System.out.println(folder.getAbsolutePath());
    }
  }
}

この例では、traversFolderメソッドをまず定義します。これはフォルダを走査するための引数としてファイルオブジェクトを受信します。最初に、渡されたファイルオブジェクトがフォルダかどうかを確認します。フォルダの場合は、フォルダ内のすべてのファイルを取得し、各ファイルに対して再帰的にtraversFolderメソッドを呼び出します。フォルダでない場合は、ファイルであることを示し、ファイルの絶対パスを直接出力します。

mainメソッドで、走査するフォルダを表すFileオブジェクトを作成し、traverseFolderメソッドを呼び出して走査を開始します。 path/to/folderを、走査したいフォルダのパスに置き換えるだけです。

bannerAds