私はフォルダをループし、特定のファイルが終わるすべてのファイルをリストしています。私は再帰的な方法でこの問題を解決しようとしていますが、私はどこにもいません。Java再帰プリントディレクトリのサブディレクトリファイル
private int counter = 0;
public void printAllJavaFiles(File directory) {
printFile(directory);
File[] subDirectories = directory.listFiles();
for (File file : subDirectories) {
printAllJavaFiles(file);
}
}
private void printFile(File file) {
// Get file extension
String fileExtension = "";
int i = file.getName().lastIndexOf('.');
if (i >= 0) {
fileExtension = file.getName().substring(i + 1);
}
if (fileExtension.equals("java")) {
System.out.println("File: " + file.getName() + " Size: " + file.length());
}
}
私は実際にどのようにディレクトリ構造内を上下に行くのか分かりません。それはちょうど最初のフォルダを入力し、一度それがnullpointerexceptionをスローするファイルのリストを完了した。
'java.nio.file.Files.walkFileTree'を見てください。 – rkosegi
再帰的メソッドを使ってこの問題を具体的に解決しなければなりません。 – Lithicas
NPEはどこで手に入りますか? – Sentry