1. Ficheros e intercambio de datos

1.1. ¿De qué va este tema?

Conservaremos datos de una aplicación en ficheros, elegiremos formas de acceso y convertiremos formatos de intercambio. Separaremos el almacenamiento del dominio mediante un componente con comportamiento comprobable.

Dedicación orientativa: unas 28 horas. El tiempo que necesites dependerá de tus conocimientos previos y de las dificultades que encuentres.

Punto de partida: programación orientada a objetos y tratamiento básico de excepciones.

1.2. Clases

1.2.1. Rutas, ficheros y directorios

  • Ruta absoluta y relativa, directorio de trabajo y existencia del recurso.

  • Archivo, directorio y permisos de acceso.

Actividad

  • Crear, recorrer, copiar, mover y eliminar.

  • Comprobación previa, excepción y liberación de recursos.

Actividad

1.2.2. Elegir cómo acceder a un fichero

  • Texto y binario; byte, carácter, codificación y flujo.

  • Separación entre dato y representación.

Actividad

  • Acceso secuencial y aleatorio: posición, registro y coste conceptual.

  • Tamaño fijo frente a texto variable; ventajas y límites según el uso.

Actividad

1.2.3. Leer y escribir con flujos

  • Apertura, lectura hasta fin, decodificación y cierre.

  • Archivo vacío, lectura parcial y contenido truncado.

Actividad

  • Creación, sustitución, anexado y escritura controlada.

  • Comprobación de ida y vuelta y cierre también ante errores.

Actividad

1.2.4. Representar datos en CSV y JSON

  • CSV: esquema, tipos, delimitadores, escapes y valores ausentes.

  • Reconstrucción de objetos desde filas y validación de datos.

Actividad

  • JSON: objetos, colecciones, jerarquías y tipos.

  • Serialización y deserialización; parsear no es validar reglas de negocio.

Actividad

1.2.5. Convertir formatos sin perder información

  • Representación intermedia y correspondencia de tipos.

  • Aplanamiento, pérdidas de estructura y decisiones de conversión.

Actividad

  • Conversión CSV/JSON y ejemplo mínimo XML de intercambio.

  • Lectura, escritura y comprobación de campos y valores conservados.

Actividad

1.2.6. Validación y recuperación ante errores

  • Errores de acceso, sintaxis y datos; detección, propagación y comunicación.

  • Responsabilidad de cada capa ante el fallo.

Actividad

  • Liberación garantizada, interrupción y escritura parcial.

  • Preservación del archivo válido y recuperación controlada.

Actividad

1.2.7. Un componente de persistencia

  • Contrato, implementación y dependencias.

  • Ventajas, límites y herramientas para desarrollar un componente reutilizable.

Actividad

  • Propiedades, atributos y configuración del componente.

  • Eventos: asociación de una acción a una notificación de operación.

Actividad

1.2.8. Probar y documentar la persistencia

  • Casos normales, límites y fallos; aislamiento de archivos de prueba.

  • Resultados esperados, ejecución y comprobación reproducible.

Actividad

  • Documentación de contrato, configuración, errores y eventos.

  • Empaquetado básico y ejemplo de uso desde otro cliente.

Actividad

Test de autoevaluación

Actividad final integradora