Saltar la navegación

3. Clases asociadas

En este apartado, nos centraremos en la gestión de ficheros y directorios. Cuando se programa con Java, podemos realizar tareas básicas de gestión de ficheros que nos serán útiles para realizar todo tipo de acciones con ese fichero, desde crear hasta leer, borrar, copiar o mover de sitio carpetas o archivos.

Para tratar los diferentes archivos, Java tiene diferentes paquetes que nos pueden ayudar a realizar las operaciones básicas con cualquier tipo de fichero. Algunos de estos paquetes son propios de Java, pero también hay otros que son necesaria una importación. Pero antes de complicarnos, mostraremos los más básicos e importantes.

El paquete más utilizado en el lenguaje Java es el paquete java.io. Dentro, podremos encontrar diferentes opciones que nos permitirán diferentes acciones con ficheros: creación, borrado, lectura, escritura, movimiento y copia, entre otras. Este paquete nos permitirá tanto la creación de ficheros como de carpetas.

Vamos a ver la clase File que nos permite hacer unas cuantas operaciones con ficheros, también veremos cómo filtrar ficheros, o sea, obtener aquellos con una característica determinada, como puede ser que tengan la extensión .odt, o la que nos interese, y por último, en este apartado también veremos como crear y eliminar ficheros y directorios.

La clase File

¿Para qué sirve esta clase y qué nos permite?

La clase File proporciona una representación abstracta de ficheros y directorios.

Esta clase, permite examinar y manipular archivos y directorios, independientemente de la plataforma en la que se esté trabajando: Linux, Windows, etc.

Las instancias de la clase File representan nombres de archivo, no los archivos en sí mismos.

El archivo correspondiente a un nombre puede ser que no exista, por esta razón habrá que controlar las posibles excepciones.

Un objeto de clase File permite examinar el nombre del archivo, descomponerlo en su rama de directorios o crear el archivo si no existe mediante el método createNewFile();

Para archivos que existen, a través del objeto File, un programa puede examinar los atributos del archivo, cambiar su nombre, borrarlo o cambiar sus permisos. Dado un objeto File, podemos hacer las siguientes operaciones con él:

  • Renombrar el archivo, con el método renameTo(). El objeto File dejará de referirse al archivo renombrado, ya que el String con el nombre del archivo en el objeto File no cambia.
  • Borrar el archivo, con el método delete(). También, con deleteOnExit() se borra cuando finaliza la ejecución de la máquina virtual Java.
  • Crear un nuevo fichero con un nombre único. El método estático createTempFile() crea un fichero temporal y devuelve un objeto File que apunta a él. Es útil para crear archivos temporales, que luego se borran, asegurándonos tener un nombre de archivo no repetido.
  • Establecer la fecha y la hora de modificación del archivo con setLastModified(). Por ejemplo, se podría hacer: new File("prueba.txt").setLastModified(new Date().getTime()); para establecerle la fecha actual al fichero que se le pasa como parámetro, en este caso prueba.txt.
  • Crear un directorio, mediante el método mkdir(). También existe mkdirs(), que crea los directorios superiores si no existen.
  • Listar el contenido de un directorio. Los métodos list() y listFiles() listan el contenido de un directorio. list() devuelve un vector de String con los nombres de los archivos, listFiles() devuelve un vector de objetos File.
  • Listar los nombres de archivo de la raíz del sistema de archivos, mediante el método estático listRoots().

Para más información, consultar aquí.