Tema 1: Manejo de Ficheros y Acceso a Datos
1. Conceptos Fundamentales
Para entender la gestión de ficheros en Java, es clave distinguir entre los conceptos base de la asignatura:
- Dato: Representación simbólica de un hecho, objeto o situación, sin significado por sí mismo hasta que es interpretado.
- Información: Conjunto de datos procesados, organizados y estructurados con un contexto determinado, de modo que adquieren significado útil para la toma de decisiones.
2. Serialización y Deserialización
- Serializar: Proceso de volcar o escribir en un fichero u origen de datos los objetos instanciados en memoria por el programa.
- Deserializar: Proceso inverso, consistente en leer datos de un fichero para reconstruir los objetos correspondientes en memoria Java.
3. Clasificación de Ficheros
3.1. Según el tipo de contenido
-
Ficheros de texto:
Contienen caracteres legibles directamente por el usuario en programas de texto plano (codificados en ASCII, UTF-8, etc.).
Ejemplos:
.txt,.csv,.json,.xml,.html.Clases en Java: Se gestionan mediante clases como
FileReader/FileWriteroBufferedReader/BufferedWriter. -
Ficheros binarios:
Contienen datos en el formato interno del ordenador (secuencias de bytes) y no son legibles directamente como texto plano.
Ejemplos:
.dat,.bin, imágenes (.jpg,.png), ejecutables o bytecode (.exe,.class).Clases en Java: Se leen y escriben mediante
FileInputStream/FileOutputStreamoDataInputStream/DataOutputStream.Ventaja: Ocupan menos espacio en disco y se procesan sustancialmente más rápido.
3.2. Según el modo de acceso
-
Acceso Secuencial:
Los datos se leen o escriben de forma continua, uno detrás de otro desde el inicio del archivo hasta el final, sin posibilidad de saltar arbitrariamente a una posición concreta.
Ejemplos: Ficheros de texto convencionales, flujos de red (streams).
-
Acceso Aleatorio (o Directo):
Permite posicionar un puntero de lectura/escritura en cualquier byte especifico del fichero (mediante métodos como
seek()) y operar en esa ubicación directamente.Ejemplo en Java: La clase
RandomAccessFile, muy utilizada en motores de bases de datos para indexar y localizar registros ágilmente.
4. Metadatos (Metadata)
Los metadatos son la información que describe las características de un fichero o de su contenido, pero que no forma parte del contenido propiamente dicho. Suelen almacenarse en la cabecera del archivo.
Ejemplo: En un correo electrónico, los metadatos incluyen la hora de envío, la dirección IP de origen y las direcciones del remitente/destinatario. En el sistema de archivos de Java (clase File), corresponden a propiedades como el nombre, la ruta absoluta/relativa, los permisos de lectura/escritura o el tamaño en bytes.
5. Recuentos y Referencias Útiles
Para la manipulación básica de rutas y archivos en el sistema operativo, Java proporciona la clase java.io.File, cuyo constructor reserva espacio de memoria y cuenta con tres firmas de sobrecarga comunes.
🔗 Recurso de apoyo recomendado: W3Schools - Java Files