Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Verzeichnisse rekursiv löschen

Empfohlene Antworten

Veröffentlicht

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??

Hat sich erledigt! Habs rausgekriegt :)

  • 2 Wochen später...

Vielleicht kannst du uns mal etwas erleuchten? Wie macht man's denn am besten?

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

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();

}

}

Müsste nicht am Ende der Methode noch ein path.delete(); kommen, um das Verzeichnbis selbst zu löschen?

MfG Dalton

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.