Saltar al contenido principal

Presentación de la UD1: gestión de ficheros y directorios

La UD1 ocupa 8 horas de la 1ª evaluación y evalúa el RA1, el primero de los seis resultados de aprendizaje del módulo. Es la unidad más pequeña de la evaluación, pero sienta una base que se reutiliza en el resto del curso: antes de guardar datos en una base de datos relacional o documental, necesitas saber manipular con soltura el sistema de ficheros del propio sistema operativo.

Objetivos de la unidad​

Al terminar la UD1 debes ser capaz de:

  • Manipular el sistema de ficheros mediante la API java.nio.file: crear, borrar, copiar, mover y recorrer ficheros y directorios.
  • Discriminar entre formas de acceso — secuencial frente a aleatorio — y justificar cuál conviene según el problema.
  • Diseñar una jerarquía de excepciones propia, adaptada al dominio de la aplicación, en lugar de propagar excepciones genéricas de la plataforma.

De java.io a java.nio.file​

Java arrastra dos generaciones de API para trabajar con ficheros:

GeneraciónPaqueteAñoEstado
Primerajava.io (File)1996Vigente por compatibilidad, no recomendada para código nuevo
Segundajava.nio.file (NIO.2)2011 (Java 7)Estándar actual

java.io.File tiene limitaciones conocidas: los métodos que fallan (delete(), mkdir(), renameTo()...) devuelven boolean en lugar de lanzar una excepción informativa, no distingue bien entre "no existe" y "no tengo permiso", y no ofrece una forma nativa de recorrer árboles de directorios grandes sin cargarlos enteros en memoria.

java.nio.file resuelve esto con tres piezas que verás en detalle en los siguientes apartados:

  • Path: representa una ruta de forma abstracta e independiente del sistema operativo.
  • Files: clase de utilidades estática con las operaciones reales (crear, copiar, mover, leer atributos...), que lanza excepciones específicas y comprobables en lugar de devolver false.
  • FileSystem / WatchService: acceso al sistema de ficheros subyacente y capacidad de vigilar cambios en un directorio sin hacer polling manual.
información

[Principio rector]

Todo el código que escribas a partir de ahora para tocar disco debe usar java.nio.file. java.io.File solo aparece en este curso quedará como referencia histórica de por qué existe la API moderna.

Qué vas a aprender en esta unidad​

ApartadoContenido
aPresentación de la UD1
bPath, Paths y Files: crear, borrar, copiar, mover y renombrar
cRecorrido de árboles de directorios, atributos y permisos
dWatchService: vigilancia de un directorio
eAcceso secuencial frente a acceso aleatorio
fExcepciones propias y gestión de rutas por configuración
gStreaming de ficheros binarios grandes
hActividades A1.1 – A1.4

Los ejemplos de código de esta unidad trabajan sobre ficheros y directorios genéricos (documentos de texto, registros de log, directorios de prueba). Las actividades, en cambio, ya te pedirán aplicar estos mismos conceptos sobre el dominio del proyecto que arrancaste en la UD0.