La serialización de objetos convierte un objeto en bytes para poder enviarlo a través de una red o guardarlo en un archivo. Para serializar un objeto, la clase debe implementar la interfaz Serializable. Se usa ObjectOutputStream para escribir objetos a un archivo y ObjectInputStream para leerlos de nuevo.
1. TEMA: Serialización de Objetos
ALUMNA: Andrea Cañizares
MATERIA: Programación III
Ing. Paulo Guerra
ESPE
2012
2. Serialización
Es convertir un objeto en un montón de bytes y que
después se pueda recuperar dicho objeto.
Al poder convertir el objeto a bytes, ese objeto se
puede enviar a través de red, guardarlo en un fichero, y
después reconstruirlo al otra lado de la red y leerlo del
fichero.
3. Pertenece a la interfaz java.io.Serializable
La interface serializable no contiene ningún método
Se tiene q implementar dicho método.
Si dentro de la clase hay atributos que son otras
clases, éstos a su vez también deben
ser Serializables.
4. Creación de un objeto
ObjectOutputStream
La escritura de objetos se realiza a través de
ObjectOutputStream.
Para crear un objeto se necesita disponer del
FileOutputStream, asociado al fichero.
Al crear el objeto se dispone del método
writeObject(Objectobj), para escribir.
5. FileOutputStream (nombre)= new FileOutputStream
(“nombre archivo.obj o txt”)
ObjectOutputStream (nombre) = new
ObjectOutputStream (nombre del FileOutputStream)
6. Creación de un objeto
ObjectInputStream
La lectura de objetos se realiza a través de
ObjectInputStream.
Al crear el objeto se dispone del método readObject(),
para leer.
7. ObjectInputStream (nombre ) = new
ObjectInputStream(nombre del FileInputStream)
FileInputStream (nombre) = new FileInputStream
(“nombre del archivo antes creado”)
8. Deserialización
Se produce al recuperar un objeto mediante
readObject()
Durante este proceso, los datos miembros no
serializados (los heredados de una clase no
serializada), serán inicializados utilizando el
constructor por defecto de su clase.
Los datos miembros de la clase serializada serán
restaurados con los valores almacenados.