Ejercicio Java
En este ejercicio, crearás un programa en Java que demuestre el uso de **Streams y Serialización** para guardar y recuperar objetos de un archivo. Implementarás una clase Persona
que será serializable, permitiendo almacenar sus datos en un archivo mediante **ObjectOutputStream** y recuperarlos con **ObjectInputStream**. Esta técnica es fundamental para la persistencia de datos en aplicaciones Java.
Instrucciones:
- Crea una clase llamada
Persona
con atributos como nombre y edad, implementando la interfaz Serializable
.
- Implementa un método para **guardar un objeto** de tipo
Persona
en un archivo usando **ObjectOutputStream**.
- Implementa otro método para **leer el objeto** desde el archivo utilizando **ObjectInputStream**.
- En el método
main
, crea un objeto Persona
, guárdalo en un archivo y luego recupéralo para mostrar sus datos.
Este ejercicio te ayudará a comprender cómo **Streams y Serialización** permiten el manejo eficiente de datos en aplicaciones Java, facilitando el almacenamiento y la recuperación de información en archivos.
Ver código de ejemplo
import java.io.*;
// Clase Persona que implementa Serializable
class Persona implements Serializable {
private static final long serialVersionUID = 1L;
private String nombre;
private int edad;
public Persona(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
public void mostrarDatos() {
System.out.println("Nombre: " + nombre + ", Edad: " + edad);
}
}
public class SerializacionDemo {
public static void main(String[] args) {
String archivo = "persona.dat";
// Crear un objeto Persona
Persona persona = new Persona("Juan", 30);
// Serializar el objeto y guardarlo en un archivo
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(archivo))) {
out.writeObject(persona);
System.out.println("Objeto Persona serializado correctamente.");
} catch (IOException e) {
e.printStackTrace();
}
// Deserializar el objeto y leerlo del archivo
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream(archivo))) {
Persona personaLeida = (Persona) in.readObject();
System.out.println("Objeto Persona deserializado:");
personaLeida.mostrarDatos();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
Salida:
Objeto Persona serializado correctamente.
Objeto Persona deserializado:
Nombre: Juan, Edad: 30
Este programa demuestra cómo trabajar con archivos en Java utilizando las clases File
, FileReader
y FileWriter
. Primero, se crea un archivo llamado ejemplo.txt
, se escribe en él utilizando FileWriter
, y luego se lee el contenido con FileReader
. Al ejecutar el programa, el contenido del archivo se muestra en la consola, permitiendo comprender cómo realizar operaciones básicas de entrada/salida con archivos en Java.