English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans cet exemple, nous allons apprendre à supprimer un répertoire vide, un répertoire non vide et un répertoire avec des sous-répertoires non vides en Java.
import java.io.File; class Main { public static void main(String[] args) { try { //Créer un nouvel objet de fichier File directory = new File("Directory"); //Suppression du répertoire boolean result = directory.delete(); if(result) { System.out.println("Le répertoire a été supprimé"); } else { System.out.println("Répertoire introuvable"); } } catch (Exception e) { e.getStackTrace(); } } }
Dans l'exemple ci-dessus, nous avons utilisé la méthode delete() de la classe File pour supprimer le répertoire nomméRépertoiredu répertoire.
Ici, si le répertoire existe, le message est affichéThe directory has been deleted。Sinon, il sera affiché “ Répertoire introuvable。
Pour en savoir plus sur les fichiers, veuillez consulterJava File。
En Java, pour supprimer un répertoire non vide, nous devons d'abord supprimer tous les fichiers existants dans le répertoire. Ensuite, nous pouvons supprimer le répertoire.
import java.io.File; class Main { public static void main(String[] args) { try { //Créer un nouvel objet de fichier File directory = new File("Directory"); //Lister tous les fichiers dans le tableau File[] files = directory.listFiles(); //Supprimer chaque fichier du répertoire for(File file : files) { System.out.println(file + " a été supprimé."); file.delete(); } //Suppression du répertoire if(directory.delete()) { System.out.println("Le répertoire a été supprimé"); } else { System.out.println("Répertoire introuvable"); } } catch (Exception e) { e.getStackTrace(); } } }
Dans l'exemple ci-dessus, nous avons utilisé for-Chaque itération supprime tous les fichiers existants dans le répertoire. Une fois tous les fichiers supprimés, le répertoire est supprimé en utilisant la méthode delete().
import java.io.File; class Main { public static void deleteDirectory(File directory) { //Le fichier est-il un répertoire if(directory.isDirectory()) { File[] files = directory.listFiles(); //Si le répertoire contient des fichiers if(files != null) { for(File file : files) { //Si le sous-répertoire n'est pas vide, procéder à l'appel récursif deleteDirectory(file); } } } if(directory.delete()) { System.out.println(directory + " a été supprimé"); } else { System.out.println("Le répertoire n'a pas été supprimé"); } } public static void main(String[] args) { try { //Créer un nouvel objet de fichier File directory = new File("Directory"); Main.deleteDirectory(directory); } catch (Exception e) { e.getStackTrace(); } } }
Here, assume we have a non-empty directory named Directory. Directory contains2files named file1.txt and file2.txt and a non-empty subdirectory named Subdirectory. Similarly, Subdirectory contains a file named file11.txt.
Now, when we run the program, we will get the following output.
Directory\file1.txt has been deleted Directory\file2.txt has been deleted Directory\Subdirectory\file11.txt has been deleted Directory\Subdirectory has been deleted The directory has been deleted
Here, first delete2Delete the files in Subdirectory, then recursively delete the files in the Subdirectory. Once Subdirectory is empty, delete it. Finally, delete Directory.