Javaでディレクトリを反復処理する方法を教えてください。
フォルダを反復処理する方法は Java にはいくつかありますが、よく使われる方法を以下に示します。
import java.io.File;
public class FolderTraversal {
public static void main(String[] args) {
File folder = new File("path/to/folder"); // 替换为你要遍历的文件夹路径
if (folder.exists() && folder.isDirectory()) {
traverseFolder(folder);
} else {
System.out.println("文件夹路径无效!");
}
}
public static void traverseFolder(File folder) {
File[] files = folder.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
System.out.println("文件夹:" + file.getAbsolutePath());
traverseFolder(file); // 递归遍历子文件夹
} else {
System.out.println("文件:" + file.getAbsolutePath());
}
}
}
}
}
上記のコードでは、最初にFileオブジェクトを作成して探索するディレクトリを表現します。次に、exists()メソッドでディレクトリが存在するかを確認し、isDirectory()メソッドでディレクトリであるかを確認します。そして、traverseFolder()メソッドを呼び出してディレクトリを探索します。
listFiles()メソッドを使用して、traverseFolder()メソッドはフォルダ内のすべてのファイルおよびサブディレクトリを取得します。次に、ループを使用してfiles配列内の各ファイルおよびディレクトリを反復処理します。ディレクトリの場合は、ディレクトリのパスを出力し、traverseFolder()メソッドを再帰的に呼び出してサブディレクトリを反復処理します。ファイルの場合は、ファイルのパスのみを出力します。
上記のコードで「パス / フォルダへのパス」は実際のフォルダのパスに置き換えてください。