English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Beispiel lernen wir, wie man in Java einen leeren Verzeichnis, ein nicht leeres Verzeichnis und ein Verzeichnis mit nicht leeren Unterverzeichnissen löscht.
import java.io.File; class Main { public static void main(String[] args) { try { //Ein neues Dateiobjekt erstellen Dateiverzeichnis = new File("Verzeichnis"); //Verzeichnis löschen boolean result = directory.delete(); if(result) { System.out.println("Verzeichnis wurde gelöscht"); } else { System.out.println("Verzeichnis nicht gefunden"); } } catch (Exception e) { e.getStackTrace(); } } }
Im obigen Beispiel haben wir das delete()-Method der File-Klasse verwendet, um das VerzeichnisVerzeichnisVerzeichnis.
Hier wird eine Nachricht angezeigt, wenn das Verzeichnis existiertDas Verzeichnis wurde gelöscht. Andernfalls wird " Verzeichnis nicht gefunden.
Für mehr Informationen über Dateien besuchen Sie bitteJava File.
Um ein leeres Verzeichnis zu löschen, müssen wir in Java zunächst alle Dateien im Verzeichnis löschen. Dann können wir das Verzeichnis löschen.
import java.io.File; class Main { public static void main(String[] args) { try { //Ein neues Dateiobjekt erstellen Dateiverzeichnis = new File("Verzeichnis"); //Liste alle Dateien im Array auf File[] files = directory.listFiles(); //Jede Datei im Verzeichnis löschen for(File file : files) { System.out.println(file + " gelöscht."); file.delete(); } //Verzeichnis löschen if(directory.delete()) { System.out.println("Verzeichnis wurde gelöscht"); } else { System.out.println("Verzeichnis nicht gefunden"); } } catch (Exception e) { e.getStackTrace(); } } }
Im obigen Beispiel haben wir das for-Durch einen each-Zyklus werden alle vorhandenen Dateien im Verzeichnis gelöscht. Nachdem alle Dateien gelöscht wurden, wird das Verzeichnis mit dem delete()-Method gelöscht.
import java.io.File; class Main { public static void deleteDirectory(File directory) { //Ob die Datei ein Verzeichnis ist if(directory.isDirectory()) { File[] files = directory.listFiles(); //Wenn das Verzeichnis jede Datei enthält if(files != null) { for(File file : files) { //Wenn der Unterverzeichnis nicht leer ist, wird eine rekursiv aufgerufen deleteDirectory(file); } } } if(directory.delete()) { System.out.println(directory + " wurde gelöscht"); } else { System.out.println("Verzeichnis nicht gelöscht"); } } public static void main(String[] args) { try { //Ein neues Dateiobjekt erstellen Dateiverzeichnis = new File("Verzeichnis"); Main.deleteDirectory(directory); } catch (Exception e) { e.getStackTrace(); } } }
Hier wird angenommen, dass wir ein nicht leeres Verzeichnis Directory haben. Directory enthält2Dateien mit dem Namen file1.txt und file2.txt und eine nicht leere Unterdirectory Subdirectory. Ebenso enthält die Subdirectory eine Datei file11.txt.
Wenn wir das Programm ausführen, erhalten wir folgende Ausgabe.
Directory\file1.txt wurde gelöscht Directory\file2.txt wurde gelöscht Directory\Subdirectory\file11.txt wurde gelöscht Directory\Subdirectory wurde gelöscht Das Verzeichnis wurde gelöscht
Hier wird zunächst gelöscht2eine Datei, dann wird die rekursiv die Dateien im Unterordner Subdirectory gelöscht. Sobald der Unterordner Subdirectory leer ist, wird dieser gelöscht. Und schließlich wird der Directory gelöscht.