6 flujos y archivos
DESCRIPTION
Utiliza flujos para almacenar objetos en un archivo.TRANSCRIPT
FLUJOS Y Programación Orientada a Objetos6
M.S.C. Raúl Mora Reyes
M.S.C. Raúl Mora Reyes
FLUJOS
Java utiliza el paquete java.io para manejar entrada y salida
La E/S se basa en el concepto de flujo, que es una secuencia ordenada de datos que se toman de una fuente (flujos de entrada) o se envían a un destino (flujos de salida).
Permiten al programador ignorar los detalles específicos de la plataforma, y permiten el acceso a recursos del sistema por medio de archivos (files).
M.S.C. Raúl Mora Reyes
PASOS1. La clase de donde se crearan los objetos debe implementar la
interfaz Serializable, de no hacerlo no se almacenarán en el archivo.
2. Para almacenar objetos en un archivo se hace uso de 2 flujos: ObjectOutputStream que convierte el objeto en datos binarios, y FileOutputStream que almacena los datos en el archivo.
3. Para leer objetos en un archivo se hace uso de 2 flujos: ObjectInputStream que convierte el objeto en datos binarios, y FileInputStream que almacena los datos en el archivo.
M.S.C. Raúl Mora Reyes
ObjectOutputStream FileOutputStream
FileInputStream ObjectInputStream
Serializable
implementsEscritura
Lectura
Objeto Binario Archivo
Archivo Binario Objeto
M.S.C. Raúl Mora Reyes
PROCESO: ESCRITURA
Abrir flujo para escritura
ObjectOutputStream escribir = new ObjectOutputStream( new FileOutputStream(“Agenda.dat”));
Escribir
escribir.writeObject(objeto);
Cerrar flujo
escribir.close( );
M.S.C. Raúl Mora Reyes
PROCESO: LECTURA
Abrir flujo para lectura
ObjectInputStream leer = new ObjectInputStream( new FileInputStream(“Agenda.dat”));
Leer
objeto = leer.readObject( );
Cerrar flujo
leer.close( );
M.S.C. Raúl Mora Reyes
EJEMPLO
M.S.C. Raúl Mora Reyes
Persona
-nombre : String -email : String
+get... +set...
Serializable
implements
M.S.C. Raúl Mora Reyes
M.S.C. Raúl Mora Reyes
M.S.C. Raúl Mora Reyes
NOTAS
El nombre del archivo debe ser idéntico al crear el flujo de entrada como el de salida ( en el ejemplo Agenda.dat)
Observa que en el ciclo donde se leen los objetos del archivo se lee un objeto, posteriormente se hace una conversión al tipo de objeto específico (en el ejemplo Persona), se almacena en una referencia del mismo tipo (per) y posteriormente se compara contra null, para saber si aún hay objetos en el archivo.
M.S.C. Raúl Mora Reyes