ディレクトリ構造をJavaで再帰的にトラバースする方法
Javaでは、再帰アルゴリズムを用いてディスクの探索を実現できます。以下に、指定ディレクトリ内の全ファイルおよびサブディレクトリを探索するための簡単なサンプルを示します。
import java.io.File;
public class DiskTraversal {
public static void main(String[] args) {
String path = "C:\\"; // 指定遍历的目录
traverseDisk(path);
}
public static void traverseDisk(String path) {
File root = new File(path);
File[] files = root.listFiles(); // 获取当前目录下的所有文件和子目录
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
traverseDisk(file.getAbsolutePath()); // 递归遍历子目录
} else {
System.out.println(file.getAbsolutePath()); // 输出文件路径
}
}
}
}
}
この例では、traverseDisk メソッドは再帰を使用して、指定されたディレクトリ内のすべてのファイルとサブディレクトリを走査します。まず、現在のディレクトリ内にあるすべてのファイルとサブディレクトリを取得し、続いてそれぞれがサブディレクトリかどうかを判断します。サブディレクトリだった場合は、traverseDisk メソッドを呼び出してサブディレクトリを再帰的に走査します。ファイルだった場合は、ファイルのパスを出力します。
この例では単にディスク上のファイルやディレクトリを走査して、パスを出力するものであることに注意して下さい。他の処理が必要な場合は、必要に応じて、適切に変更してください。