Serialización en java

Java facilita el almacenamiento y transmisión del estado de un objeto  mediante un mecanismo conocido con el nombre de Serialización

Serialización de objetos en java

Consiste en obtener una secuencia de bytes que represente el estado de dicho objeto.

 

Esta secuencia puede utilizarse de varias maneras(enviarse a través de la red, guardarse en un fichero, utilizarse para recomponer el objeto original).

estado de un objeto

El estado de un objeto viene dado, básicamente, por el estado de sus campos. Serializar un objeto consiste, en guardar el estado de sus campos.

 

En ocasiones puede interesar que un atributo concreto de un objeto no sea serializado. Esto se puede conseguir utilizando el modificador transient, que informa a la JVM de que no nos interesa mantener el valor de ese atributo para serializarlo o hacerlo persistente.

En este ejemplo, los atributos n y fecha serán incluídos en la secuencia de bytes resultante de serializar un objeto de clase MiFecha. El atributo s no será incluído, por tener el modificador transient.

Para que un objeto sea serializable, debe implementar la interfaz java.io.Serializable.  

public class MiClase implements java.io.Serializable

FileOutputStream fos = new FileOutputStream("fichero.bin");

FileInputStream fis = new FileInputStream("fichero.bin");

//Construir un flujo de datos a través de cual es posible transferir un objeto.

ObjectOutputStream out = new ObjectOutputStream(dos);  

ObjectInputStream in = new ObjectInputStream(fis);

ClaseSerializable o1 = new ClaseSerializable();

ClaseSerializable o2 = new ClaseSerializable();

// Escribir el objeto en el fichero

out.writeObject(o1); out.writeObject(o2);

// Leer el objeto del fichero (en el mismo orden !!)

o1 = (ClaseSerializable)in.readObject();
o2 = (ClaseSerializable)in.readObject();

Almacenamiento de objetos

Serialización en java

By irahan

Serialización en java

  • 965