M.S.C. Raúl Mora Reyes
6
FLUJOS Y Programación Orientada a Objetos 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
PASOS 1. 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
Serializable implements
Escritura
ObjectOutputStream
Objeto
FileOutputStream
Binario
Archivo
Lectura Archivo
Binario
FileInputStream
Objeto
ObjectInputStream
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
Serializable implements
Persona -nombre : String -email : String +get... +set...
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