Manejo de Archivos y Entrada/Salida en Java
Lectura y Escritura de Archivos
En Java, la manipulación de archivos y la entrada/salida se realiza a través de las clases del paquete java.io
. Aquí hay un ejemplo de cómo leer y escribir en un archivo:
Lectura de Archivos
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class LecturaArchivo {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("archivo.txt"))) {
String linea;
while ((linea = br.readLine()) != null) {
System.out.println(linea);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
En este ejemplo, se utiliza un BufferedReader
para leer líneas desde un archivo llamado "archivo.txt". El bloque try-with-resources
garantiza que el recurso (en este caso, el BufferedReader
) se cierre correctamente después de su uso, incluso si ocurre una excepción.
Escritura de Archivos
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class EscrituraArchivo {
public static void main(String[] args) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter("nuevo_archivo.txt"))) {
bw.write("Hola, esto es un ejemplo de escritura en archivo.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
En este ejemplo, se utiliza un BufferedWriter
para escribir una cadena en un nuevo archivo llamado "nuevo_archivo.txt". Al igual que en el ejemplo de lectura, se utiliza el bloque try-with-resources
para asegurar que el recurso se cierre correctamente.
Serialización
La serialización en Java permite convertir objetos en una secuencia de bytes, que luego se pueden almacenar o transmitir. Aquí hay un ejemplo básico:
import java.io.*;
class Persona implements Serializable {
String nombre;
int edad;
public Persona(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
}
public class SerializacionObjeto {
public static void main(String[] args) {
// Serialización de un objeto
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("persona.ser"))) {
Persona persona = new Persona("Juan", 30);
oos.writeObject(persona);
} catch (IOException e) {
e.printStackTrace();
}
// Deserialización del objeto
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("persona.ser"))) {
Persona personaDeserializada = (Persona) ois.readObject();
System.out.println("Nombre: " + personaDeserializada.nombre + ", Edad: " + personaDeserializada.edad);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
En este ejemplo, la clase Persona
implementa la interfaz Serializable
, lo que permite que los objetos de esta clase sean serializados. Se crea un objeto de la clase Persona
, se serializa y se almacena en un archivo llamado "persona.ser". Luego, se deserializa y se imprime la información del objeto.
No hay comentarios:
Publicar un comentario