English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo Java

Arreglos Java

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Cola (Cola)

Conjuntos de Mapa Java

Conjuntos Java

Entrada y salida Java (I/O)

Lector Java/Writer

Otras materias de Java

Programa Java para eliminar directorios vacíos y no vacíos

Java Ejemplos completos

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.

Ejemplo1 : programa Java para eliminar directorios vacíos

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

Ejemplo2 : eliminar directorios no vacíos

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

Ejemplo3 : eliminar directorios no vacíos de forma recursiva

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.

Java Ejemplos completos