Hi Community,
bastel grad an einem Programm und verwende ich auch rekursive Aufrufe für Verzeichnisoperationen. Dazu habe ich auch eine GUI auf der eine ProgressBar läuft, welche den Fortschritt wiedergeben soll. Nun hat sich mir die Frage gestellt, wie ich denn abschätzen kann, wie lang so ein rekursiver Aufruf dauert.
Eigentlich geht das doch garnicht oder? Denn ich müsste im Vorhinein schon wissen, wie viele Dateien ich ingesamt kopieren will, um einen Fortschritt feststellen zu können (also immer, wenn ein Hunderstel von den gesamten Dateien kopiert wurde, progressBar.setValue(++j)). Aber das ist ja bei einer rekursiven Methode nicht der Fall, weil man ja nie weiß, wie sich das entwickelt, wie groß der "Baum" wird.
Mal anhand dieses Beispieles:
Habt ihr irgendwelche Ideen?
bastel grad an einem Programm und verwende ich auch rekursive Aufrufe für Verzeichnisoperationen. Dazu habe ich auch eine GUI auf der eine ProgressBar läuft, welche den Fortschritt wiedergeben soll. Nun hat sich mir die Frage gestellt, wie ich denn abschätzen kann, wie lang so ein rekursiver Aufruf dauert.
Eigentlich geht das doch garnicht oder? Denn ich müsste im Vorhinein schon wissen, wie viele Dateien ich ingesamt kopieren will, um einen Fortschritt feststellen zu können (also immer, wenn ein Hunderstel von den gesamten Dateien kopiert wurde, progressBar.setValue(++j)). Aber das ist ja bei einer rekursiven Methode nicht der Fall, weil man ja nie weiß, wie sich das entwickelt, wie groß der "Baum" wird.
Mal anhand dieses Beispieles:
Java:
private int listdir(File dir){
File[] files = dir.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
listdir(files[i]);
}
else{
System.out.println(files[i].getName());
}
}
return 0;
}
Habt ihr irgendwelche Ideen?