Ich versuche, durch einen Ordner Schleife und listet alle Dateien mit einer bestimmten Datei mit der Endung. Ich versuche dieses Problem mit einer rekursiven Methode zu lösen, aber ich komme nicht weiter.Java Rekursion Verzeichnis drucken Unterverzeichnis Dateien
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());
}
}
Irgendwelche Vorschläge? Ich habe wirklich keine Ahnung, wie man in der Verzeichnisstruktur rauf und runter geht. Es geht nur in den ersten Ordner und sobald es fertig ist, listet es seine Dateien auf, es löst eine Null-Null-Wahrnehmung aus.
Sie sollten sich 'java.nio.file.Files.walkFileTree' ansehen. – rkosegi
Ich muss dieses Problem mit einer rekursiven Methode lösen. – Lithicas
Wo bekommen Sie die NPE? – Sentry