G
Guest
Gast
Hi,
ich lese mit folgender Methode alle Ordnerpfade von einem Server ein.
Wenn ich jetzt alle Ordnerpfade einlesen möchte, dann schafft der anfangs ein paar hundert pro Sekunde. Aber mit der Zeit wenn er bei ca. 20000 angekommen ist, nur noch 1-2 pro Sekunde. Liegt das an der ArrayList, weil die bei so einer Größe zu langsam wird? Gibt es eine schnellere Alternative?
ich lese mit folgender Methode alle Ordnerpfade von einem Server ein.
Code:
private ArrayList<String> files = new ArrayList<String>();
private void sucheOrdner(File f) {
if(ebene < maxEbene) {
File[] root = f.listFiles();
if((root = f.listFiles()) != null) {
for(int i = 0; i < root.length; i++) {
if(root[i].isDirectory()) {
files.add(root[i].getPath());
ebene++;
sucheOrdner(root[i]);
ebene--;
}
}
}
}
}
Wenn ich jetzt alle Ordnerpfade einlesen möchte, dann schafft der anfangs ein paar hundert pro Sekunde. Aber mit der Zeit wenn er bei ca. 20000 angekommen ist, nur noch 1-2 pro Sekunde. Liegt das an der ArrayList, weil die bei so einer Größe zu langsam wird? Gibt es eine schnellere Alternative?