Veröffentlicht 18. September 200222 j Hi, ich musste gerade feststellen, dass ich mit File.delete nur Verzeichnisse löschen kann, die schon leer sind. Gibt es im JDK eine Funktion, mit der ich Verzeichnisse mit samt ihrem Inhalt löschen kann??
27. September 200222 j Vielleicht kannst du uns mal etwas erleuchten? Wie macht man's denn am besten?
27. September 200222 j In etwa so: Du schreibst eine Methode an der Du das zu löschende Verzeichnis übergibst. In der Methode liest du jetzt alle Dateien innerhalb des Verzeichnisses (dirFile.listFiles()). Mit einer for-Schleife dann diese Files durchlaufen. Jeder Eintrag muss dann geprueft werden, ob es eine Datei ist oder ein Verzeichnis. Dateien können ja ohne Probleme gelöscht werden. Ist es allerdings wieder ein Verzeichnis muss es natürlich auch erst geleert werden. Dazu einfach die hier beschriebene Methode aufrufen. (Wenn ich mich jetzt nicht irre, heißt das rekusiver Methodeaufruf). Am Ende muss dann noch das (an die Methode übergebene) Verzeichnis gelöscht werden. MfG Dalton
30. September 200222 j Beispiel: /** * Method nukeSubFolder. * @param path * @throws IOException */ private static void nukeSubFolder(File path) throws IOException { File[] files = path.listFiles(); for (int nIndex = 0; nIndex < files.length; ++nIndex) { if (files[nIndex].isDirectory()) { nukeSubFolder(files[nIndex]); } files[nIndex].delete(); } }
30. September 200222 j Müsste nicht am Ende der Methode noch ein path.delete(); kommen, um das Verzeichnbis selbst zu löschen? MfG Dalton
30. September 200222 j Sorry muss natürlich nicht, da das direkt nach der If abfrage geschiedt. MfG Dalton
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.