2
Lo más leído
4
Lo más leído
6
Lo más leído
Persistencia  basada en archivos
Introducción Todas las aplicaciones realizadas hasta ahora obtenían los datos necesarios para su ejecución de la entrada estándar y visualizaban los resultados en la salida estándar. De esta forma los datos estarán disponibles mientras dure la ejecución de la aplicación. Si finalizamos la ejecución de la aplicación y la ejecutamos de nuevo, tendremos que volver a ingresar de nuevo todos los datos.
…  Introducción La solución para hacer que los datos persistan de una ejecución a otra es almacenarlos en un archivo en el disco. Entonces cada vez que se ejecute la aplicación podrá leer el archivo almacenado en disco y recuperar los datos que requiera, los mismos que serán cargarlos en la memoria y podrán ser manipularlos.
Datos de una aplicación
Persistir datos de una aplicación Como Java es un lenguaje orientado a objetos, la mayoría de aplicaciones tienen un conjunto de clases de datos (modelo de datos). En la memoria residen las instancias de estas clases de datos y los componentes de vista y controlador (interfaz de usuario). Para almacenar los datos de forma permanente una aplicación debe tomar el modelo de datos de la memoria y escribirlo en disco.
Archivos Un archivo, también denominado “fichero”, es un conjunto de datos almacenados como una “unidad” en un soporte físico, por ejemplo un disco magnético o un CD. Los datos almacenados en un archivo son de manera permanente de modo que pueden ser manipulados en cualquier momento.  Cada archivo está referenciado mediante un identificador único (ruta + nombre).
Ejemplos bajo Windows Nombre completo: C:\\Farmacia\\Datos\\Balance.dat Nombre corto: Balance.dat Extensión: .dat Ruta: C:\\Farmacia\\Datos\\
Ejemplos bajo UNIX/Linux Nombre completo: home/ccp/farmacia/datos/Balance.dat Nombre corto: Balance.dat Extensión: .dat Ruta: home/ccp/farmacia/datos/
La clase File Un objeto de la clase  java.io.File  permite referenciar un archivo o un directorio que puede existir en el sistema de archivos. Básicamente, podemos ver los objetos de esta clase como una referencia al nombre del elemento del sistema de archivos, bien sea un archivo o directorio. A través de esta clase podemos manipular los atributos de los elementos referenciados.
Métodos de la clase File - Directorios Método Descripción boolean isDirectory() Investiga si es un directorio. boolean exist() Investiga si existe el directorio. boolean mkdir() Crea un directorio. boolean mkdirs() Crear los directorios necesarios de una ruta. boolean delete() Borra un directorio. String[] list() Lista archivos de un directorio. File[] listRoots() Lista cada uno de los sistemas de archivos disponibles.
Métodos de la clase File - Archivos Método Descripción boolean isFile() Investiga si es un archivo. boolean exist() Investiga si existe el archivo. boolean canRead() Investiga si se puede leer el archivo. boolean canWrite() Investiga si se puede escribir el archivo. long length() Tamaño del archivo en bytes. long lastModified() Fecha de la última modificación. boolean renameTo() Cambia el nombre del archivo.  boolean delete() Borra un archivo.
Ejemplo File[] roots = File.listRoots(); for (File r : roots) { System.out.println(r); }
Ejemplo File dir = new File("/home/ccp/"); String files = dir.list(); for (String f : files) { System.out.println(f); }
Flujos de Entrada/Salida La escritura y lectura de archivos en Java se basa en “flujos” de datos.  Un flujo no es más que un objeto que hace de intermediario entre la aplicación y el origen o el destino de los datos. De esta forma la aplicación leerá o escribirá en el flujo sin importarle desde donde vienen los datos o hacia donde van.
Visión general de los flujos E/S
Filtros Existen otras clases que también representan flujos de datos, pero que se utilizan como un “filtro” previo a un flujo sobre un archivo o cualquier otro dispositivo. El uso habitual de estas clases es transformar los datos de otro flujo. Por ejemplo, podríamos tener un filtro que convierta a mayúsculas todo el texto y que trabaje con flujos asociados a archivos, memoria o cualquier otro destino.
Flujos de entrada de caracteres
Flujos de salida de caracteres
Flujos de entrada binarios
Flujos de salida binarios
Reader y Writer Java proporciona las clases  Reader  y  Writer , clases abstractas de las que derivan las clases que permiten crear flujos de caracteres de 16 bits (Unicode) mediante la codificación local por defecto.
Subclases de Reader y Writer Subclase Descripción FileReader Crea flujos de bytes procedentes de archivos de caracteres. BufferedReader Crea un filtro con área de almacenamiento en memoria ( buffer ) con lo que permite la lectura de bloques mayores a un byte. FileWriter Crear flujos de bytes para enviar datos a un archivo.  BufferedWriter Crear un filtro con área de almacenamiento en memoria ( buffer ) con lo que permite la escritura de bloques mayores a un byte.
Lectura de un archivo de texto String texto = ""; try { FileReader fr = new FileReader("nombres.txt"); BufferedReader br = new BufferedReader(fr); while (texto != null) {   texto = br.readLine(); if (texto != null) {   System.out.println(texto); } } br.close(); } catch (IOException ex) { ex.printStackTrace(); }
Escritura de un archivo de texto String texto = {"Elena", "Carolina", "Carmen Nora"}; try { FileWriter fw =  new FileWriter("nombres.txt", false); BufferedWriter bw = new BufferedWriter(fw); for (String t : texto) {   bw.write(t); bw.newLine(); } bw.close(); } catch (IOException ex) { ex.printStackTrace(); }
Lectura de un archivo con Scanner try { File nombres = new File("nombres.txt"); Scanner sc = new Scanner(nombres); while (sc.hasNextLine()) {   String texto = sc.readLine(); System.out.println(texto); } } catch (IOException ex) { ex.printStackTrace(); }
InputStream y OutputStream Java proporciona las clases  InputStream  y  OutputStream , ambas clases abstractas de las que derivan las clases principales de lectura y escritura a través de flujos de bytes (conocidos como  streams ).
Subclases de InputStream y OutputStream Subclase Descripción FileInputStream Abre un archivo para lectura. FileOutputStream Abre un archivo para escritura. DataInputStream Lee un flujo de bytes y lo convierte en primitivas válidas de Java.  DataOutputStream Convierte primitivas válidas de Java y lo escribe como un flujo de bytes.  ObjectInputStream Lee desde un archivo la estructura de un objeto. ObjectOutputStream Escribe en un archivo la estructura de un objeto. ByteArrayInputStream Lee un arreglo de bytes como si fuera un archivo. ByteArrayOutputStream Escribe en un arreglo de bytes como si fuera un archivo.
Escritura de un archivo binario try { FileOutputStream fos =  new FileOutputStream("datos.bin"); ObjectOutputStream oos =  new ObjectOutputStream(fos); oos.writeObject( new Persona("Castro", "Aquiles", 'M', 21) ); oos.close(); } catch (IOException ex) { ex.printStackTrace(); }
Lectura de un archivo binario try { FileInputStream fis =  new FileInputStream("datos.bin"); ObjectInputStream ois =  new ObjectInputStream(fis); Persona persona = (Persona) ois.readObject(); System.out.println(persona.getNombres() + " " + persona.getApellidos()); System.out.println(persona.getSexo()); System.out.println(persona.getEdad()); ois.close(); } catch (IOException ex) { ex.printStackTrace(); }
Serialización La serialización es el proceso por el cual un objeto o una colección de objetos se convierten en una secuencia de bytes, los que pueden ser almacenados en un archivo y recuperados más adelante. Cuando se serializa un objeto se almacena la estructura de la clase y los datos contenidos. Para serializar y deserializar objetos se usa la interfaz  java.io.Serializable .
Ejemplo import java.io.Serializable; public class Persona implements Serializable { private String apellidos; private String nombres; private char sexo; private int edad; . . . }
Muchas gracias por su atención.

Más contenido relacionado

PDF
Arquitecturas de software - Parte 1
PDF
POO Unidad 4: Persistencia de objetos y manejo de archivos
PPTX
Patrón de diseño Modelo-Vista-Controlador (MVC)
PPSX
Javascript
PPT
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
PDF
2. Casos de uso y diagramas de casos de uso
PPTX
Gestores de base de datos
PDF
1. Modelo de Datos
Arquitecturas de software - Parte 1
POO Unidad 4: Persistencia de objetos y manejo de archivos
Patrón de diseño Modelo-Vista-Controlador (MVC)
Javascript
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
2. Casos de uso y diagramas de casos de uso
Gestores de base de datos
1. Modelo de Datos

La actualidad más candente (20)

PDF
Diagrama desecuenciabiblioteca 1
PDF
Modelo relacional
PDF
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
PPTX
Estructura básica de un programa en C++
DOC
Ejemplo plan de desarrollo de software rup
PDF
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
PPTX
Fundamentos de BD - Unidad 5 algebra relacional
PPTX
Planificacion de proyecto de software
PPTX
Casos de Uso ejercicios
PDF
Diferencias entre scrum y xp
PDF
Presentaciòn modelos para el desarrollo del software
PPTX
El DBA y sus funciones
PPTX
Metodología RUP
PDF
8.Clases y objetos Java
PDF
22 ejercicios base de datos
PPTX
Fundamentos de ingenieria del software (2)
PPTX
Ciclo Vida del Software
PPTX
Normas y Estándares de calidad para el desarrollo de Software
Diagrama desecuenciabiblioteca 1
Modelo relacional
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
Estructura básica de un programa en C++
Ejemplo plan de desarrollo de software rup
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Fundamentos de BD - Unidad 5 algebra relacional
Planificacion de proyecto de software
Casos de Uso ejercicios
Diferencias entre scrum y xp
Presentaciòn modelos para el desarrollo del software
El DBA y sus funciones
Metodología RUP
8.Clases y objetos Java
22 ejercicios base de datos
Fundamentos de ingenieria del software (2)
Ciclo Vida del Software
Normas y Estándares de calidad para el desarrollo de Software
Publicidad

Destacado (20)

PDF
Persistencia de datos en Java
PPT
APLICACIONES EMPRESARIALES
PDF
Archivos
ODP
Archivos Java
PPT
Manejo Avanzado de Flujos de Entrada/Salida
PPT
Implementación de Aplicaciones Basadas en Texto
PDF
Java_Capitulo 10
PDF
Java _Capitulo_9
PPTX
Aplicaciones java
PPT
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
PPTX
Sistemas de ficheros
DOCX
Trabajo sobre archivos en java.. programacion no numerica ii
PPSX
Persistencia de objetos con Hibernate
PDF
Java_Capitulo_7
PDF
SERVLET BASICS
PPTX
File reader y filewriter
DOCX
Java Mapa mental
PPTX
Entrada y Salida de datos en Java
PDF
Manejo de archivos en JAVA
PPT
Metodos de entrada y Salida
Persistencia de datos en Java
APLICACIONES EMPRESARIALES
Archivos
Archivos Java
Manejo Avanzado de Flujos de Entrada/Salida
Implementación de Aplicaciones Basadas en Texto
Java_Capitulo 10
Java _Capitulo_9
Aplicaciones java
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Sistemas de ficheros
Trabajo sobre archivos en java.. programacion no numerica ii
Persistencia de objetos con Hibernate
Java_Capitulo_7
SERVLET BASICS
File reader y filewriter
Java Mapa mental
Entrada y Salida de datos en Java
Manejo de archivos en JAVA
Metodos de entrada y Salida
Publicidad

Similar a PERSISTENCIA BASADA EN ARCHIVOS (20)

PPTX
Fichero c y c++
PDF
PPTX
Framework .NET 3.5 14 Gestión de archivos y serialización
DOCX
Tema1oficial
PPS
PPT
Objetivo 01 Archivos de Texto
PPTX
Grupo nro4ficheros
DOCX
Bryan gordillo ensayo_ficheros
PDF
Archivos en c clase unsam
PDF
Manejo+de+archivos+en+java
PDF
Manejo de archivos en java
PDF
Manejo de archivos en java
PDF
Manejo de archivos en java
PPTX
Flujos y archivo en java
DOCX
Bryan gordillo ensayo_ficheros
PDF
Jyoc java-cap14 persistencia. ficheros corrientes
DOCX
Flujos de bytes y cadenas
PPT
2-Archivos.ppt
PPTX
Archivo de datos
PPT
7 manejo de archivos
Fichero c y c++
Framework .NET 3.5 14 Gestión de archivos y serialización
Tema1oficial
Objetivo 01 Archivos de Texto
Grupo nro4ficheros
Bryan gordillo ensayo_ficheros
Archivos en c clase unsam
Manejo+de+archivos+en+java
Manejo de archivos en java
Manejo de archivos en java
Manejo de archivos en java
Flujos y archivo en java
Bryan gordillo ensayo_ficheros
Jyoc java-cap14 persistencia. ficheros corrientes
Flujos de bytes y cadenas
2-Archivos.ppt
Archivo de datos
7 manejo de archivos

Más de Darwin Durand (14)

PDF
Ejemplos Borland C++ Builder
PDF
Visual Studio.Net - Sql Server
DOCX
VISUALIZAR REGISTROS EN UN JTABLE
DOCX
EJEMPLOS DESARROLLADOS
DOCX
PROYECTO PRUEBA DE CONEXIONES (Mantenimiento)
DOCX
CONEXION VISUAL STUDIO.NET - SQL SERVER
DOCX
CREACION DE DLL Y USO (Ejemplo desarrollado)
PDF
SISTEMA DE FACTURACION (Ejemplo desarrollado)
DOCX
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
PDF
CURSO DE PROGRAMACION AVANZADA EN JAVA EN ESPAÑOL
PPT
INDICES EN SQL SERVER
PPTX
INTEGRIDAD DE DATOS
PPT
CREACION Y MANEJO DE LA BASE DE DATOS
PPT
CREACION DE TABLAS
Ejemplos Borland C++ Builder
Visual Studio.Net - Sql Server
VISUALIZAR REGISTROS EN UN JTABLE
EJEMPLOS DESARROLLADOS
PROYECTO PRUEBA DE CONEXIONES (Mantenimiento)
CONEXION VISUAL STUDIO.NET - SQL SERVER
CREACION DE DLL Y USO (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
CURSO DE PROGRAMACION AVANZADA EN JAVA EN ESPAÑOL
INDICES EN SQL SERVER
INTEGRIDAD DE DATOS
CREACION Y MANEJO DE LA BASE DE DATOS
CREACION DE TABLAS

Último (20)

DOCX
Área transición documento word el m ejor
PDF
PROSPECTO_ADMISION_PRESENCIAL_2025Medici
PDF
50000 mil words en inglés más usados.pdf
PDF
Diversos-Rostros-de-la-EPJA-una-vision-desde-universidades-publicas-latinoame...
PDF
Carta magna de la excelentísima República de México
PPTX
preeclampsia + eclampsia, sindrome de HeLLP
PDF
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
PDF
Biografia del Genio Steve Jobs Ccesa007.pdf
PDF
Organizador curricular multigrado escuela
PDF
El Seminario de Jacques Lacan_ Libro 3.pdf
PPTX
Evaluación de Programa analitico 2024-2025 Jardín de niños Ramón González Vil...
PDF
Teología de la misión Ramiro Pellitero.pdf
PDF
Didáctica de las literaturas infantiles.
PPTX
higiene-y-seguridad-industrial salud ocupacional.pptx
PDF
GUÍA INTEGRADA PROMOCIÓN HORIZONTAL 2024-2025 (1).pdf
PDF
Temas a elegir para desarrollar oralmente 2do cuatri 2025.pdf
PDF
Acompanamiento-de-familias-en-la-construccion-de-proyectos-de-vida.pdf
PDF
El Genero y Nuestros Cerebros - Gina Ripon Ccesa007.pdf
PDF
Manual-de-Cargos-y-Funciones-V-02-11-2025
PDF
Aportes Pedagógicos para el currículum d
Área transición documento word el m ejor
PROSPECTO_ADMISION_PRESENCIAL_2025Medici
50000 mil words en inglés más usados.pdf
Diversos-Rostros-de-la-EPJA-una-vision-desde-universidades-publicas-latinoame...
Carta magna de la excelentísima República de México
preeclampsia + eclampsia, sindrome de HeLLP
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
Biografia del Genio Steve Jobs Ccesa007.pdf
Organizador curricular multigrado escuela
El Seminario de Jacques Lacan_ Libro 3.pdf
Evaluación de Programa analitico 2024-2025 Jardín de niños Ramón González Vil...
Teología de la misión Ramiro Pellitero.pdf
Didáctica de las literaturas infantiles.
higiene-y-seguridad-industrial salud ocupacional.pptx
GUÍA INTEGRADA PROMOCIÓN HORIZONTAL 2024-2025 (1).pdf
Temas a elegir para desarrollar oralmente 2do cuatri 2025.pdf
Acompanamiento-de-familias-en-la-construccion-de-proyectos-de-vida.pdf
El Genero y Nuestros Cerebros - Gina Ripon Ccesa007.pdf
Manual-de-Cargos-y-Funciones-V-02-11-2025
Aportes Pedagógicos para el currículum d

PERSISTENCIA BASADA EN ARCHIVOS

  • 1. Persistencia basada en archivos
  • 2. Introducción Todas las aplicaciones realizadas hasta ahora obtenían los datos necesarios para su ejecución de la entrada estándar y visualizaban los resultados en la salida estándar. De esta forma los datos estarán disponibles mientras dure la ejecución de la aplicación. Si finalizamos la ejecución de la aplicación y la ejecutamos de nuevo, tendremos que volver a ingresar de nuevo todos los datos.
  • 3. … Introducción La solución para hacer que los datos persistan de una ejecución a otra es almacenarlos en un archivo en el disco. Entonces cada vez que se ejecute la aplicación podrá leer el archivo almacenado en disco y recuperar los datos que requiera, los mismos que serán cargarlos en la memoria y podrán ser manipularlos.
  • 4. Datos de una aplicación
  • 5. Persistir datos de una aplicación Como Java es un lenguaje orientado a objetos, la mayoría de aplicaciones tienen un conjunto de clases de datos (modelo de datos). En la memoria residen las instancias de estas clases de datos y los componentes de vista y controlador (interfaz de usuario). Para almacenar los datos de forma permanente una aplicación debe tomar el modelo de datos de la memoria y escribirlo en disco.
  • 6. Archivos Un archivo, también denominado “fichero”, es un conjunto de datos almacenados como una “unidad” en un soporte físico, por ejemplo un disco magnético o un CD. Los datos almacenados en un archivo son de manera permanente de modo que pueden ser manipulados en cualquier momento. Cada archivo está referenciado mediante un identificador único (ruta + nombre).
  • 7. Ejemplos bajo Windows Nombre completo: C:\\Farmacia\\Datos\\Balance.dat Nombre corto: Balance.dat Extensión: .dat Ruta: C:\\Farmacia\\Datos\\
  • 8. Ejemplos bajo UNIX/Linux Nombre completo: home/ccp/farmacia/datos/Balance.dat Nombre corto: Balance.dat Extensión: .dat Ruta: home/ccp/farmacia/datos/
  • 9. La clase File Un objeto de la clase java.io.File permite referenciar un archivo o un directorio que puede existir en el sistema de archivos. Básicamente, podemos ver los objetos de esta clase como una referencia al nombre del elemento del sistema de archivos, bien sea un archivo o directorio. A través de esta clase podemos manipular los atributos de los elementos referenciados.
  • 10. Métodos de la clase File - Directorios Método Descripción boolean isDirectory() Investiga si es un directorio. boolean exist() Investiga si existe el directorio. boolean mkdir() Crea un directorio. boolean mkdirs() Crear los directorios necesarios de una ruta. boolean delete() Borra un directorio. String[] list() Lista archivos de un directorio. File[] listRoots() Lista cada uno de los sistemas de archivos disponibles.
  • 11. Métodos de la clase File - Archivos Método Descripción boolean isFile() Investiga si es un archivo. boolean exist() Investiga si existe el archivo. boolean canRead() Investiga si se puede leer el archivo. boolean canWrite() Investiga si se puede escribir el archivo. long length() Tamaño del archivo en bytes. long lastModified() Fecha de la última modificación. boolean renameTo() Cambia el nombre del archivo. boolean delete() Borra un archivo.
  • 12. Ejemplo File[] roots = File.listRoots(); for (File r : roots) { System.out.println(r); }
  • 13. Ejemplo File dir = new File("/home/ccp/"); String files = dir.list(); for (String f : files) { System.out.println(f); }
  • 14. Flujos de Entrada/Salida La escritura y lectura de archivos en Java se basa en “flujos” de datos. Un flujo no es más que un objeto que hace de intermediario entre la aplicación y el origen o el destino de los datos. De esta forma la aplicación leerá o escribirá en el flujo sin importarle desde donde vienen los datos o hacia donde van.
  • 15. Visión general de los flujos E/S
  • 16. Filtros Existen otras clases que también representan flujos de datos, pero que se utilizan como un “filtro” previo a un flujo sobre un archivo o cualquier otro dispositivo. El uso habitual de estas clases es transformar los datos de otro flujo. Por ejemplo, podríamos tener un filtro que convierta a mayúsculas todo el texto y que trabaje con flujos asociados a archivos, memoria o cualquier otro destino.
  • 17. Flujos de entrada de caracteres
  • 18. Flujos de salida de caracteres
  • 19. Flujos de entrada binarios
  • 20. Flujos de salida binarios
  • 21. Reader y Writer Java proporciona las clases Reader y Writer , clases abstractas de las que derivan las clases que permiten crear flujos de caracteres de 16 bits (Unicode) mediante la codificación local por defecto.
  • 22. Subclases de Reader y Writer Subclase Descripción FileReader Crea flujos de bytes procedentes de archivos de caracteres. BufferedReader Crea un filtro con área de almacenamiento en memoria ( buffer ) con lo que permite la lectura de bloques mayores a un byte. FileWriter Crear flujos de bytes para enviar datos a un archivo. BufferedWriter Crear un filtro con área de almacenamiento en memoria ( buffer ) con lo que permite la escritura de bloques mayores a un byte.
  • 23. Lectura de un archivo de texto String texto = ""; try { FileReader fr = new FileReader("nombres.txt"); BufferedReader br = new BufferedReader(fr); while (texto != null) { texto = br.readLine(); if (texto != null) { System.out.println(texto); } } br.close(); } catch (IOException ex) { ex.printStackTrace(); }
  • 24. Escritura de un archivo de texto String texto = {"Elena", "Carolina", "Carmen Nora"}; try { FileWriter fw = new FileWriter("nombres.txt", false); BufferedWriter bw = new BufferedWriter(fw); for (String t : texto) { bw.write(t); bw.newLine(); } bw.close(); } catch (IOException ex) { ex.printStackTrace(); }
  • 25. Lectura de un archivo con Scanner try { File nombres = new File("nombres.txt"); Scanner sc = new Scanner(nombres); while (sc.hasNextLine()) { String texto = sc.readLine(); System.out.println(texto); } } catch (IOException ex) { ex.printStackTrace(); }
  • 26. InputStream y OutputStream Java proporciona las clases InputStream y OutputStream , ambas clases abstractas de las que derivan las clases principales de lectura y escritura a través de flujos de bytes (conocidos como streams ).
  • 27. Subclases de InputStream y OutputStream Subclase Descripción FileInputStream Abre un archivo para lectura. FileOutputStream Abre un archivo para escritura. DataInputStream Lee un flujo de bytes y lo convierte en primitivas válidas de Java. DataOutputStream Convierte primitivas válidas de Java y lo escribe como un flujo de bytes. ObjectInputStream Lee desde un archivo la estructura de un objeto. ObjectOutputStream Escribe en un archivo la estructura de un objeto. ByteArrayInputStream Lee un arreglo de bytes como si fuera un archivo. ByteArrayOutputStream Escribe en un arreglo de bytes como si fuera un archivo.
  • 28. Escritura de un archivo binario try { FileOutputStream fos = new FileOutputStream("datos.bin"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject( new Persona("Castro", "Aquiles", 'M', 21) ); oos.close(); } catch (IOException ex) { ex.printStackTrace(); }
  • 29. Lectura de un archivo binario try { FileInputStream fis = new FileInputStream("datos.bin"); ObjectInputStream ois = new ObjectInputStream(fis); Persona persona = (Persona) ois.readObject(); System.out.println(persona.getNombres() + " " + persona.getApellidos()); System.out.println(persona.getSexo()); System.out.println(persona.getEdad()); ois.close(); } catch (IOException ex) { ex.printStackTrace(); }
  • 30. Serialización La serialización es el proceso por el cual un objeto o una colección de objetos se convierten en una secuencia de bytes, los que pueden ser almacenados en un archivo y recuperados más adelante. Cuando se serializa un objeto se almacena la estructura de la clase y los datos contenidos. Para serializar y deserializar objetos se usa la interfaz java.io.Serializable .
  • 31. Ejemplo import java.io.Serializable; public class Persona implements Serializable { private String apellidos; private String nombres; private char sexo; private int edad; . . . }
  • 32. Muchas gracias por su atención.