Javaでファイルを走査する方法


  1. Files.walk()メソッドを使用する方法: Files.walk()メソッドは、指定されたディレクトリ以下のすべてのファイルを再帰的に走査するために使用されます。次のコード例は、このメソッドを使用してファイルを走査する方法を示しています。
import java.nio.file.*;
import java.io.IOException;
public class FileWalker {
    public static void main(String[] args) throws IOException {
        String directoryPath = "指定したディレクトリのパス";

        Files.walk(Paths.get(directoryPath))
             .filter(Files::isRegularFile)
             .forEach(System.out::println);
    }
}
  1. FileVisitorクラスを使用する方法: FileVisitorクラスを使用すると、ファイルツリーを走査しながら特定の動作を実行することができます。以下に、FileVisitorを継承したクラスの例を示します。
import java.nio.file.*;
import java.io.IOException;
import java.nio.file.attribute.BasicFileAttributes;
public class FileVisitorExample extends SimpleFileVisitor<Path> {
    @Override
    public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
        System.out.println(file);
        return FileVisitResult.CONTINUE;
    }

    public static void main(String[] args) throws IOException {
        String directoryPath = "指定したディレクトリのパス";

        Files.walkFileTree(Paths.get(directoryPath), new FileVisitorExample());
    }
}
  1. Apache Commons IOを使用する方法: Apache Commons IOライブラリには、ファイル操作に便利なユーティリティメソッドが含まれています。以下に、Apache Commons IOを使用してファイルを走査する方法の例を示します。
import org.apache.commons.io.*;
import java.io.File;
import java.util.Collection;
public class ApacheCommonsFileWalker {
    public static void main(String[] args) {
        String directoryPath = "指定したディレクトリのパス";

        Collection<File> files = FileUtils.listFiles(new File(directoryPath), null, true);

        for (File file : files) {
            System.out.println(file);
        }
    }
}

これらは、Javaでファイルを走査するための一般的な方法のいくつかです。必要に応じて、上記のコード例を参考にして、自分の要件に合わせてカスタマイズすることができます。