Ich war nicht ganz sicher, wie ich diese Frage titulieren sollte, aber ich habe eine Art Bug, den ich nicht wirklich verstehe.Nach der Rekursion konnte ich keine Dateien zur Liste hinzufügen Java
Ich habe eine Methode, die rekursiv die Unterverzeichnisse mit der Bezeichnung "Berechnung" eines Stammverzeichnisses für seine Dateiinhalte durchsucht. Und es scheint zu funktionieren, wenn ich auf die Konsole drucke. Wenn ich jedoch versuche, diese Dateien zu einer Liste von Dateien hinzuzufügen, scheint es nicht zu funktionieren, Größe ist 0 ...
Wie kann ich diese Dateien zu einer Liste oder Datei [] oder eine beliebige Art von Datenstruktur hinzufügen damit ich sie verarbeiten kann?
Hier ist mein Code:
public static List<File> walkDirectory(String path) {
List<File> fileList = new ArrayList<File>();
File root = new File(path);
File[] list = root.listFiles();
if (list == null) return null;
for (File f : list) {
if (f.isDirectory()) {
walkDirectory(f.getAbsolutePath());
}
else if (f.getParentFile().getName().contains("calculation")) {
fileList.add(f); // does not work...
System.out.println("File: " + f.getAbsoluteFile());
}
}
return fileList;
}
public static void main(String[] args) {
System.out.println(FileWalker.walkDirectory("/path/to/root/directory").size()); // size is 0
}
Willst du sagen, FileList ein Klassenfeld zu machen? –
Ich denke, du hast deine Antwort :) Wenn nicht, zögere nicht zu fragen –
Das scheint zu funktionieren! Obwohl ich das schon vorher versucht hatte, aber ich hatte die ArrayList nicht außerhalb der Methode –