Lectura de archivos planos y conversión a objetos en Java
Clase 25 de 31 • Curso de Java
Contenido del curso
- 10

Atributos y métodos estáticos en clases utilitarias de Java
08:43 - 11

Constantes en Java: inmutabilidad con static final
04:08 - 12

Constructores en Java para inicializar objetos con datos
08:10 - 13

Gestión de memoria en Java: stack, heap y garbage collector
07:04 - 14

Encapsulamiento en Java: Atributos privados y métodos getter y setter
09:26 - 15

Operaciones básicas con listas en Java: agregar, eliminar y recorrer
11:12 - 16

Relaciones entre clases en Java: asociación, agregación y composición
03:45 - 17

Implementación de menús interactivos con while y switch en Java
11:38 - 18

Búsqueda y eliminación de elementos en listas de Java
09:20 quiz de Construcción de clases y modelado de objetos
- 19

Streams y lambdas para filtrar listas en Java
11:55 - 20

Transformación y ordenamiento de listas con streams en Java
11:49 - 21

Validación de entrada con enums en Java
11:56 - 22

Diferencias entre Excepciones Checked y Unchecked en Java
08:16 - 23

Records para simplificar código inmutable en Java
07:00 - 24

Mapas en Java para contar visualizaciones de películas
09:47 - 25

Lectura de archivos planos y conversión a objetos en Java
13:48 - 26

Escritura de archivos planos con la API moderna de Java
09:50 quiz de Estructuras de datos y Java moderno
Trabajar con archivos planos en Java es una habilidad esencial para cualquier desarrollador. Al comprender cómo leer archivos y transformar su contenido en objetos, se logra mantener la información organizada y disponible, incluso después de reiniciar una aplicación. Aquí exploramos los puntos clave para lograrlo de manera eficiente y moderna.
¿Cómo crear y estructurar un archivo plano para Java?
El primer paso es crear un archivo plano con extensión TXT en la raíz de tu proyecto. Este archivo reunirá los datos de las películas usando el pipe (|) como separador. Es fundamental entender que algunos campos, como la calificación, pueden estar vacíos, por eso debes prever dobles separadores, especialmente cuando un dato opcional esté ausente. Así, puedes almacenar información como título, duración, categoría, calificación y fecha de estreno de cada película.
- Cada línea del archivo representa un objeto película.
- Usa el pipe (|) como delimitador de cada campo.
- Algunos campos opcionales pueden quedar vacíos, mostrando dobles pipes con espacios entre ellos.
¿Cómo se lee un archivo plano en Java de forma segura?
Para extraer el contenido de un archivo plano, puedes aprovechar la clase Files del paquete java.nio.file. El método readAllLines devuelve una lista de strings con cada línea del archivo, resultando ideal para procesarlas una a una. Es importante envolver este proceso en bloques try y catch para manejar posibles excepciones, como la ausencia del archivo. Si ocurre una IOException, puedes mostrar un mensaje de error amigable que incluya los detalles técnicos de la excepción.
Pasos clave:
- Recupera la ruta del archivo con Paths.get("contenido.txt").
- Usa Files.readAllLines para obtener las líneas.
- Captura y comunica la excepción usando try-catch.
¿Cómo transformar datos del archivo en objetos manejables?
Una vez obtenidas las líneas, cada una debe dividirse usando el pipe como separador. Esto se logra con split y la expresión "\|" para asegurar que reconoce el carácter especial. Antes de crear el objeto película, valida que el arreglo tenga exactamente cinco elementos, para evitar errores por formatos incorrectos.
- Asigna los campos a variables: título, duración (con Integer.parseInt), género (con Enum.valueOf en mayúsculas), calificación (usa Double.parseDouble pero verifica si está vacía usando isBlank), y la fecha (con LocalDate.parse).
- Si el campo de calificación está vacío, asigna cero por claridad.
- Luego, instancia el objeto y agrégalo a la colección principal.
¿Por qué centralizar el manejo de archivos en clases utilitarias?
Una buena práctica es mover la funcionalidad de lectura de archivos a una clase de utilidades, por ejemplo, FileUtils. Esto te permite centralizar la lógica, reutilizar código y mantener limpio el método main. Además, definir constantes como el nombre del archivo y el separador facilita próximas modificaciones y mejora la legibilidad.
- Crea métodos estáticos que devuelvan listas de objetos película.
- Inicializa una colección vacía, agrega objetos procesando cada línea y retorna la lista.
- Utiliza addAll para cargar toda la colección en tu plataforma o sistema.
Estas buenas prácticas aseguran que tu aplicación recupere correctamente la información desde archivos planos, manteniendo la información de tus películas siempre disponible y organizada de manera eficiente.