6/5/14

Tratamiento de carpetas o directorios en java (JAVA)

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