English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este ejemplo, aprenderemos a eliminar un directorio vacío, un directorio no vacío y un directorio con subdirectorios no vacíos en Java.
import java.io.File; class Main { public static void main(String[] args) { try { //Crear un nuevo objeto de archivo File directory = new File("Directory"); //Eliminar directorio boolean result = directory.delete(); if(result) { System.out.println("El directorio se ha eliminado"); } else { System.out.println("No se encuentra el directorio"); } } catch (Exception e) { e.getStackTrace(); } } }
En el ejemplo anterior, usamos el método delete() de la clase File para eliminarDirectorydel directorio.
Aquí, si el directorio existe, se mostrará el mensajeEl directorio se ha eliminado。En caso contrario, se mostrará No se encuentra el directorio。
Para obtener más información sobre los archivos, visiteJava File。
En Java, para eliminar un directorio no vacío, primero debe eliminar todos los archivos existentes en él. Luego, podemos eliminar el directorio.
import java.io.File; class Main { public static void main(String[] args) { try { //Crear un nuevo objeto de archivo File directory = new File("Directory"); //Listar todos los archivos del array File[] files = directory.listFiles(); //Eliminar cada archivo del directorio for(File file : files) { System.out.println(file + " eliminado"); file.delete(); } //Eliminar directorio if(directory.delete()) { System.out.println("El directorio se ha eliminado"); } else { System.out.println("El directorio no se encuentra"); } } catch (Exception e) { e.getStackTrace(); } } }
En el ejemplo anterior, hemos usado for-El bucle each elimina todos los archivos existentes en el directorio. Una vez eliminados todos los archivos, se usa el método delete().
import java.io.File; class Main { public static void deleteDirectory(File directory) { //¿Es el archivo un directorio? if(directory.isDirectory()) { File[] files = directory.listFiles(); //Si el directorio contiene algunos archivos if(files != null) { for(File file : files) { //Si el subdirectorio no está vacío, se realiza una llamada recursiva deleteDirectory(file); } } } if(directory.delete()) { System.out.println(directory + " se ha eliminado"); } else { System.out.println("El directorio no se ha eliminado"); } } public static void main(String[] args) { try { //Crear un nuevo objeto de archivo File directory = new File("Directory"); Main.deleteDirectory(directory); } catch (Exception e) { e.getStackTrace(); } } }
Aquí, supongamos que tenemos un directorio Directory no vacío. Directory contiene2archivos nombrados file1.txt y file2.txt y una subdirectorio Subdirectory no vacío. Del mismo modo, Subdirectory contiene un archivo file nombrado11.txt.
Al ejecutar el programa, obtendremos la siguiente salida.
Directory\file1Se ha eliminado .txt Directory\file2Se ha eliminado .txt Directory\Subdirectory\file11Se ha eliminado .txt Directory\Subdirectory se ha eliminado El directorio se ha eliminado
Aquí, primero se elimina2Se eliminan los archivos en Subdirectory utilizando una función recursiva. Una vez que Subdirectory esté vacío, se eliminará. Finalmente, se eliminará Directory.