Artículos
Java

Borrar un directorio con Java

28/Dic/2008

Para borrar un directorio en Java podemos utilizar el mismo código que para borrar un fichero.

Los pasos serían muy sencillos, ya que simplemente deberíamos de instanciar el objeto File y ejecutar el método .delete sobre el directorio.

String sDirectorio = "c:\\directorio";
File f = new File(sDirectorio);
		
if (f.delete())
 System.out.println("El fichero " + sDirectorio + " ha sido borrado correctamente");
else
 System.out.println("El fichero " + sDirectorio + " no se ha podido borrar");

El inconveniente de este código es que solo funciona si el directorio sobre el que lo ejecutamos está vacío.

Es por ello que para borrar un directorio con Java deberemos de borrar cada uno de los ficheros y directorios que este contenga. Al poder almacenar otros directorios, el código debe de recorrer recursivamente el directorio para ir borrando todos los ficheros.

Para ello vamos a realizar un método que recorra los directorios, vaya borrando los ficheros del directorio y vaya entrando en los subdirectorios para hacer la misma operación.

public static void borrarDirectorio (File directorio){...}

Lo primero que haremos en el método borrarDirectorio es recuperar la lista de ficheros del directorio mediante el método .listFiles(). Mediante un bucle for recorreremos los elementos del directorio

 File[] ficheros = directorio.listFiles();

 for (int x=0;x

Si el elemento es un directorio, lo sabemos mediante el método .isDirectory, volvemos a llamar al método borrarDirectorio y luego borramos el directorio. En caso contrario, simplemente borramos el fichero.

if (ficheros[x].isDirectory()) {
  borrarDirectorio(ficheros[x]);
}
ficheros[x].delete())

En el programa principal instanciamos el directorio a borrar y llamamos al método borrarDirectorio. Una vez borrado el directorio, ejecutamos el método .delete() sobre el directorio, que ya estará vacío.

String sDirectorio = "c:\\prueba";
File f = new File(sDirectorio);
		
borrarDirectorio(f);
		
if (f.delete())
  System.out.println("El directorio " + sDirectorio + " ha sido borrado correctamente");
else
  System.out.println("El directorio " + sDirectorio + " no se ha podido borrar");

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
18 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios