En esta oportunidad muestro el manejo de 'Serializacion & Deserializacion de Objetos en Java'. Esto lo elabore en base de Objetos Stream, como sus dos mètodos famosos: 'writeObject' y 'readObject'. Los dos ejemplos que se muestran, realizan lo mismo impreso en consola, la diferencia que es que en el primer ejemplo el seteo de objetos esta en modo 'HardCode' y en el segundo utilizo un bean 'BeanSerializable' para la transmisiòn. En total los dos ejemplos cuantan con tres clases:
BeanSerializable.java
import java.io.Serializable;
import java.util.Date;
/**
* En clase es utilizada para el setedo de datos para su posterior serializacion.
*
* @version 1.2 - 29 Marzo 2009.
* @author Ricardo Guerra.
*/
public class BeanSerializable implements Serializable{
private static final long serialVersionUID = -7905579217165381885L;
private Integer codigo;
private String nombre;
private String apellido;
private Date fecha;
public static long getSerialVersionUID() {
return serialVersionUID;
}
public Integer getCodigo() {
return codigo;
}
public void setCodigo(Integer codigo) {
this.codigo = codigo;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public Date getFecha() {
return fecha;
}
public void setFecha(Date fecha) {
this.fecha = fecha;
}
}
Serializando_Deserealizando_Objetos_01.java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Date;
/**
* En esta clase estoy mostrando el manejo de Serializacion y Deserealizaciòn
* de datos en modo 'HardCode'.
*
* @version 1.2 - 29 Marzo 2009.
* @author Ricardo Guerra.
*/
public class Serializando_Deserealizando_Objetos_01 implements Serializable{
private static final long serialVersionUID = -2071812553599487256L;
public static void main( String[] args ){
try{
/***************************************/
/**** ENVIAN OBJETOS 'Serializados' ****/
/***************************************/
FileOutputStream salida = new FileOutputStream( "objTemporal" ); //objTemporal, reconoce el nombre del Objeto de la Memoria.
ObjectOutput objSalida = new ObjectOutputStream(salida);
objSalida.writeObject( 123456 );
objSalida.writeObject( "Cesar Ricardo" );
objSalida.writeObject( "Guerra Arnaiz" );
objSalida.writeObject( new Date() );
objSalida.flush();
objSalida.close();
/********************************************/
/**** RECUPERAN OBJETOS 'Deserializados' ****/
/********************************************/
FileInputStream entrada = new FileInputStream( "objTemporal" ); //objTemporal, reconoce el nombre del Objeto de la Memoria.
ObjectInputStream objEntrada = new ObjectInputStream( entrada );
Integer codigo = (Integer)objEntrada.readObject();
String nombre = (String)objEntrada.readObject();
String apellido = (String)objEntrada.readObject();
Date fecha = (Date)objEntrada.readObject();
objEntrada.close();
System.out.println( "Objeto Deserealizado #01: " + codigo );
System.out.println( "Objeto Deserealizado #02: " + nombre );
System.out.println( "Objeto Deserealizado #02: " + apellido );
System.out.println( "Objeto Deserealizado #03: " + fecha );
}
catch( Exception e ){
e.printStackTrace();
}
}
public static long getSerialVersionUID() {
return serialVersionUID;
}
}
Serializando_Deserealizando_Objetos_02.java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Date;
/**
* En esta clase estoy mostrando el manejo de Serializacion y Deserealizaciòn
* de datos utilizando un Objeto Bean de apoyo.
*
* @version 1.2 - 29 Marzo 2009.
* @author Ricardo Guerra.
*/
public class Serializando_Deserealizando_Objetos_02 implements Serializable{
private static final long serialVersionUID = -7282739136711013954L;
public static void main( String[] args ){
try{
BeanSerializable objeto = new BeanSerializable();
/***************************************/
/**** ENVIAN OBJETOS 'Serializados' ****/
/***************************************/
FileOutputStream salida = new FileOutputStream( "objTemporal" ); //objTemporal, reconoce el nombre del Objeto de la Memoria.
ObjectOutput objSalida = new ObjectOutputStream(salida);
objeto.setCodigo( 123456 );
objeto.setNombre( "Cesar Ricardo" );
objeto.setApellido( "Guerra Arnaiz" );
objeto.setFecha( new Date() );
objSalida.writeObject( objeto );
objSalida.flush();
objSalida.close();
/********************************************/
/**** RECUPERAN OBJETOS 'Deserializados' ****/
/********************************************/
FileInputStream entrada = new FileInputStream( "objTemporal" ); //objTemporal, reconoce el nombre del Objeto de la Memoria.
ObjectInputStream objEntrada = new ObjectInputStream( entrada );
BeanSerializable objetoBean = (BeanSerializable)objEntrada.readObject();
System.out.println( "Objeto: " + objetoBean );
if( objetoBean instanceof BeanSerializable ){
System.out.println( "Si es Instanciado al Objeto" );
}
else{
System.out.println( "No es Instanciado al Objeto" );
}
objEntrada.close();
System.out.println( "Objeto Deserealizado #1: " + objetoBean.getCodigo() );
System.out.println( "Objeto Deserealizado #2: " + objetoBean.getNombre() );
System.out.println( "Objeto Deserealizado #3: " + objetoBean.getApellido() );
System.out.println( "Objeto Deserealizado #4: " + objetoBean.getFecha() );
}
catch( Exception e ){
e.printStackTrace();
}
}
public static long getSerialVersionUID() {
return serialVersionUID;
}
}
Showing posts with label Serializacion. Show all posts
Showing posts with label Serializacion. Show all posts
Sunday, March 29, 2009
Subscribe to:
Posts (Atom)

