給定根目錄,遞歸查找所有子目錄下的 `.java` 文件。
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class JavaFileFinder {
public static List findJavaFiles(File root) {
List result = new ArrayList<>();
if (root == null || !root.exists()) return result;
File[] files = root.listFiles();
if (files == null) return result;
for (File f : files) {
if (f.isDirectory()) {
result.addAll(findJavaFiles(f)); // 遞歸
} else if (f.getName().endsWith(".java")) {
result.add(f);
}
}
return result;
}
public static void main(String[] args) {
List javaFiles = findJavaFiles(new File("."));
for (File f : javaFiles) System.out.println(f.getAbsolutePath());
}
}
List javaFiles = Files.walk(Paths.get("."))
.filter(p -> p.toString().endsWith(".java"))
.collect(Collectors.toList());