Con esta entrada vamos a aprender a manejarnos con carpetas en java, veremos como crear, borrar y copiar contenido de una carpeta.
Lo primero que vamos a ver es como se crea un directorio, vamos a utilizar la clase FILE:
/* Ruta del directorio a crear*/
String directActual = "c:\mi_directorio_nuevo";
/* Pasamos a tipo file*/
File folderActual = new File(directActual);
/* creamos el directorio*/
folder.mkdir();
Una vez que tenemos creado el directorio vamos a ver como podríamos copiar el contenido de otro directorio en este creado:
/* copiamos el directorio origen en el directorio actual*/
copyDirectory(new File(directorioOrigen), new File(directActual));
Para copiar un directorio basta con esta sentencia:
copyDirectory(new File(directorioOrigen), new File(directActual));
Para borrar un directorio bastaría con la sentencia siguiente:
directOld.delete();
Donde directold es de tipo file.
Si el directorio que queremos borrar, contiene carpetas (o subdirectorios), hay que tener en cuenta que antes hay que borrar estos:
Para ello creamos el metodo siguiente
private boolean deleteChildren(File dir) {
File[] children = dir.listFiles();
boolean childrenDeleted = true;
for (int i = 0; children != null && i < children.length; i++) {
File child = children[i];
if (child.isDirectory()) {
childrenDeleted = this.deleteChildren(child) && childrenDeleted;
}
if (child.exists()) {
childrenDeleted = child.delete() && childrenDeleted;
}
}
return childrenDeleted;
}
Ahora si podriamos borrar primero las subcarpetas llamando a este método y a continuacion borrar el directorio.
File directOld = new File(directorioOrigen);
deleteChildren(directOld);
directOld.delete();
Un saludo, espero os sea útil esta entrada.
No hay comentarios :
Publicar un comentario