Hoi!
Problemstellung: löschen eines Ordners welcher beliebig viele Unterordner mit Dateien beinhalten kann. Das Problem hierbei ist dass ich ja nicht wissen kann wieviele Unterordner existieren.
Meine Gehirnkrütze hat sich folgendes gedacht:
Das Problem hierbei ist eben alles innherhalb der for-Schleife, da da ja Unterordner auftreten können und ich nun nicht 1000 Verzweigungen mit for-Schleifen machen möchte - ahh einfach auf sich selbst zeigen lassen wenn tmpFile ein directory ist --> grad eingefallen (dazu müsste ich nun alles ein bisschen ummodeln), oder hat jemand noch eine schönere Idee?
mfg
**EDIT**
OK es funktioniert nun, eines fällt mir jedoch noch auf, nämlich dass manchaml einfach ein File nicht gelöscht werden kann (warum auch immer) und wenn ich hierbei davor den GC aufrufe funktioniert es komischweise.
Problemstellung: löschen eines Ordners welcher beliebig viele Unterordner mit Dateien beinhalten kann. Das Problem hierbei ist dass ich ja nicht wissen kann wieviele Unterordner existieren.
Meine Gehirnkrütze hat sich folgendes gedacht:
Code:
public void deleteDirectory(final String directory) {
/* directory/file to delete */
File inFile = new File(directory);
/* files to delete which are in directory - if parameter equals directory */
LinkedList<File> deleteFiles = new LinkedList<File>();
if (inFile.isDirectory ()) {
String [] files = inFile.list();
for (int i = 0; i < files.length; i++) {
File tmpFile = new File(inFile, files[i]);
if (tmpFile.isFile()) {
deleteFiles.add(tmpFile);
} else {
System.err.println("...");
}
}
/* clear all files in directory */
this.deleteFiles(deleteFiles);
/* clear directory */
System.out.println("file: " + inFile + " cleared: " + inFile.delete());
} else if (inFile.isFile()) {
/* given directory is not a directory */
System.out.println("file: " + inFile + " cleared: " + inFile.delete());
} else {
System.err.println("file: " + inFile + "could not cleared");
}
}
Das Problem hierbei ist eben alles innherhalb der for-Schleife, da da ja Unterordner auftreten können und ich nun nicht 1000 Verzweigungen mit for-Schleifen machen möchte - ahh einfach auf sich selbst zeigen lassen wenn tmpFile ein directory ist --> grad eingefallen (dazu müsste ich nun alles ein bisschen ummodeln), oder hat jemand noch eine schönere Idee?
mfg
**EDIT**
OK es funktioniert nun, eines fällt mir jedoch noch auf, nämlich dass manchaml einfach ein File nicht gelöscht werden kann (warum auch immer) und wenn ich hierbei davor den GC aufrufe funktioniert es komischweise.