Explorando el código, creando soluciones, y compartiendo conocimientos en el fascinante mundo del desarrollo de software.

lunes, 12 de febrero de 2024

Manejo de Archivos y Entrada/Salida en Java

Manejo de Archivos y Entrada/Salida en Java: Lectura, Escritura y Serialización

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.


Navegación entre lecciones



© 2024 Programar desde Cero


No hay comentarios:

Publicar un comentario

Java Iniciación en Java Hola mundo en Java Sintaxis básica de Java Orientación a objetos en Java Manejo de excepciones en Java Java desde Cero Colecciones en Java Manejo de Archivos en Java Entrada/Salida en Java Hilos y concurrencia en Java Programación Funcional en Java Programación Orientada a Objetos (OOP) en Java Manejo de fechas y tiempos Persistencia de datos en Java Desarrollo Web en Java Manejo de dependencias Gradle Maven JUnit Git Java Desarrollo de servicios web en Java Patrones de Diseño en Java Principios Básicos de Seguridad en Java Principios SOLID en Java Frameworks populares en Java Ciclo de vida de una aplicación Java Desarrollo Ágil Base de Datos en Java Hola mundo en COBOL Estructura básica de COBOL Sintaxis Básica de COBOL Manipulación de archivos en COBOL Búsqueda en Archivos Secuenciales COBOL Ordenación y Combinación de Archivos COBOL Manejo de Errores en COBOL Subprogramas y Modularidad en COBOL Archivos Indexados en COBOL Clasificación y Fusión de Archivos en COBOL Lectura y Escritura de Archivos Secuenciales COBOL IDE Desarrollo de Software Programación Java Plugin Eclipse Desarrollo Integrado Eclipse IDE Java Development Desarrollo de Aplicaciones Programación en Eclipse Desarrollo Ágil Java EE Desarrollo Web Desarrollo Móvil Eclipse Marketplace Eclipse Plugins JavaFX Desarrollo GUI Git Control de Versiones GitHub Git Bash Git Commands Git Workflow Branching Merging Repositorios Commit Git Branch Git Pull Git Push Git Clone Git Merge Conflictos en Git Git Log Git Tag Git Remote Visual Studio Code IDE Desarrollo de Software Extensiones Editor de Código Programación Configuración VSC Snippets Depuración Control de Versiones Integración Git Atajos de Teclado Temas Productividad Extensiones VSC Lenguajes de Programación