SlideShare una empresa de Scribd logo
1 de 7
Escuela Politécnica del Ejercito

                 Programación 3


Serializacion de Objetos
   Víctor Bauz
   Oleg Priodl
Serialización de un objeto
   Implementar Serializable

   Para que un programa [:Categoría:Java|java] pueda convertir un
    objeto en un montón de bytes y pueda luego recuperarlo, el
    objeto necesita ser Serializable. 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, leerlo del
    fichero.
   Para que un objeto sea serializable basta con que implemente la
    interfaz Serializable. Como la interfaz Serializable no tiene
    métodos, es muy sencillo implementarla, basta con un implements
    Serializable y nada más. Por ejemplo, la clase Datos siguiente
    es Serializable y java sabe perfectamente enviarla o recibirla por
    red, a través de socket o de rmi. También java sabe escribirla en un
    fichero o reconstruirla a partir del fichero.
Clase con “Serializable”
implementado
public class Datos implements Serializable
{
      public int a;
      public String b;
      public char c;
}
 Sidentro de la clase hay atributos que
  son otras clases, éstos a su vez también
  deben ser Serializable. Con los tipos
  de java (String, Integer, etc.) no hay
  problema porque lo son. Si ponemos
  como atributos nuestras propias clases,
  éstas a su vez deben
  implementar Serializable. Por ejemplo
public class DatoGordo implements
Serializable
{
public int d;
public Integer e;
Datos f;
}
Guardar
FileOutputStream fos = new FileOutputStream("fichero.bin");
FileInputStream fis = new FileInputStream("fichero.bin");
ObjectOutputStream out = new ObjectOutputStream(fos);
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();
 http://chuwiki.chuidiang.org/index.php?ti
 tle=Serializaci%C3%B3n_de_objetos_en_ja
 va

 http://www.javahispano.org/storage/con
 tenidos/serializacion.pdf

Más contenido relacionado

La actualidad más candente (16)

Curso sobre Python
Curso sobre PythonCurso sobre Python
Curso sobre Python
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Java persistence
Java persistenceJava persistence
Java persistence
 
Java 5 se (presentación3)
Java 5 se (presentación3)Java 5 se (presentación3)
Java 5 se (presentación3)
 
Networking
NetworkingNetworking
Networking
 
Introducción-a-Microsoft.NET-[parte3]
Introducción-a-Microsoft.NET-[parte3]Introducción-a-Microsoft.NET-[parte3]
Introducción-a-Microsoft.NET-[parte3]
 
Leccion 11 Java
Leccion 11 JavaLeccion 11 Java
Leccion 11 Java
 
Herencia Y Polimorfismo
Herencia Y PolimorfismoHerencia Y Polimorfismo
Herencia Y Polimorfismo
 
12 Logging
12   Logging12   Logging
12 Logging
 
Unidad 6: Flujos y Archivos Ejercicio 2
Unidad 6: Flujos y Archivos Ejercicio 2Unidad 6: Flujos y Archivos Ejercicio 2
Unidad 6: Flujos y Archivos Ejercicio 2
 
Unidad 6: Flujos y Archivos Ejercicio 1
Unidad 6: Flujos y Archivos Ejercicio 1Unidad 6: Flujos y Archivos Ejercicio 1
Unidad 6: Flujos y Archivos Ejercicio 1
 
3- Clases y Objetos
3- Clases y Objetos3- Clases y Objetos
3- Clases y Objetos
 
8 introduccion colecciones
8 introduccion colecciones8 introduccion colecciones
8 introduccion colecciones
 
Unidad 6: Flujos y Archivos Ejercicio 3
Unidad 6: Flujos y Archivos Ejercicio 3Unidad 6: Flujos y Archivos Ejercicio 3
Unidad 6: Flujos y Archivos Ejercicio 3
 
Diapositiva de-ado.net
Diapositiva de-ado.netDiapositiva de-ado.net
Diapositiva de-ado.net
 
Container
ContainerContainer
Container
 

Similar a Serializacion de objetos

No numerica ii
No numerica iiNo numerica ii
No numerica ii
J_cordero
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
Whaleejaa Wha
 

Similar a Serializacion de objetos (20)

Serializacion
SerializacionSerializacion
Serializacion
 
Serialización de objetos en java
Serialización de objetos en javaSerialización de objetos en java
Serialización de objetos en java
 
(29 10-12)serializacion
(29 10-12)serializacion(29 10-12)serializacion
(29 10-12)serializacion
 
Serializacion en java
Serializacion en javaSerializacion en java
Serializacion en java
 
Suarez l 2001 el paquete java io
Suarez l 2001 el paquete java ioSuarez l 2001 el paquete java io
Suarez l 2001 el paquete java io
 
Serializacion
SerializacionSerializacion
Serializacion
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1
 
Serializacion de objetos
Serializacion de objetosSerializacion de objetos
Serializacion de objetos
 
Serializacion
SerializacionSerializacion
Serializacion
 
Serializacion de objetos
Serializacion de objetosSerializacion de objetos
Serializacion de objetos
 
Serializacion
SerializacionSerializacion
Serializacion
 
02 tda1 t2018
02 tda1 t201802 tda1 t2018
02 tda1 t2018
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - Serialización
 
No numerica ii
No numerica iiNo numerica ii
No numerica ii
 
Serialización personalizada
Serialización personalizadaSerialización personalizada
Serialización personalizada
 
Lab6-POO
Lab6-POOLab6-POO
Lab6-POO
 
Tema2
Tema2Tema2
Tema2
 
Introducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a ObjetosIntroducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a Objetos
 
Java
JavaJava
Java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (11)

Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Serializacion de objetos

  • 1. Escuela Politécnica del Ejercito Programación 3 Serializacion de Objetos Víctor Bauz Oleg Priodl
  • 2. Serialización de un objeto  Implementar Serializable  Para que un programa [:Categoría:Java|java] pueda convertir un objeto en un montón de bytes y pueda luego recuperarlo, el objeto necesita ser Serializable. 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, leerlo del fichero.  Para que un objeto sea serializable basta con que implemente la interfaz Serializable. Como la interfaz Serializable no tiene métodos, es muy sencillo implementarla, basta con un implements Serializable y nada más. Por ejemplo, la clase Datos siguiente es Serializable y java sabe perfectamente enviarla o recibirla por red, a través de socket o de rmi. También java sabe escribirla en un fichero o reconstruirla a partir del fichero.
  • 3. Clase con “Serializable” implementado public class Datos implements Serializable { public int a; public String b; public char c; }
  • 4.  Sidentro de la clase hay atributos que son otras clases, éstos a su vez también deben ser Serializable. Con los tipos de java (String, Integer, etc.) no hay problema porque lo son. Si ponemos como atributos nuestras propias clases, éstas a su vez deben implementar Serializable. Por ejemplo
  • 5. public class DatoGordo implements Serializable { public int d; public Integer e; Datos f; }
  • 6. Guardar FileOutputStream fos = new FileOutputStream("fichero.bin"); FileInputStream fis = new FileInputStream("fichero.bin"); ObjectOutputStream out = new ObjectOutputStream(fos); 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();
  • 7.  http://chuwiki.chuidiang.org/index.php?ti tle=Serializaci%C3%B3n_de_objetos_en_ja va  http://www.javahispano.org/storage/con tenidos/serializacion.pdf