SlideShare a Scribd company logo
1 of 14
Integrantes:
• Natalia Cerón A.
• Misahael Fernández M.
Objetivo


Analizar la serialización de objetos en java mediante la
investigación en la web para conocer la utilidad de las
clases ObjectOutputStream y ObjectInputStream.
Introducción


Para que un objeto pueda ser almacenado en el disco,
es necesario que la clase a la que pertenece sea
serializable. Esta característica la poseen todas
aquellas clases que implementen la interfaz
java.io.Serializable.
La interfaz Serializable no contiene ningún método,
basta que una clase la implemente para que sus
objetos puedan ser serializados por la máquina virtual
y por tanto ser almacenados en el disco.
Flujos de Datos

•Existen dos tipos de flujos de
datos: los binarios o de bytes, y
los de texto.
•En los flujos de datos de bytes
la información que fluye está en
formato binario.
•Los flujos de datos de bytes se
subdividen en flujos de datos de
entrada y flujos de datos de
salida.
    •Los primeros serían flujos que nos
    proporcionan datos, es decir,
    entradas de nuestro programa.
    •Los segundos serían flujos en los
    cuales nuestro programa escribe
    datos, es decir, salidas de nuestro
    programa.
Flujos de Salida de Bytes

•En la figura podemos ver la
jerarquía de los flujos de salida
de bytes de Java.
•La clase padre de todos los
flujos de salida de Java es
OutputStream . Se trata de una
clase abstracta (por tanto no
vamos a poder crear objetos de
ella porque su funcionalidad está
"incompleta") que representa
un flujo de datos de salida
binario cualquiera.
Sus métodos son los siguientes:
close(): cierra el flujo de datos.
flush(): sincroniza este flujo de datos con el dispositivo al cual
se están escribiendo los datos.
write(byte[] b): escribe el array b de bytes que se le pasa como
argumento al flujo de salida.
write(byte[] b, int off, int len): escribe len bytes del array b al
flujo de salida, empezando a escribirlos en el offset indicado
por off .
abstract void write(int b): escribe 1 byte al flujo de salida.
Subclases de OutputStream


ByteArrayOutputStream
FileOutputStream: flujo de salida para la escritura de
datos a un objeto de tipo File .
FilterOutputStream
ObjectOutputStream: encapsula otro objeto de tipo
OutputStream y permite escribir objetos Java
completos al flujo de datos de salida representado
por el OutputStream correspondiente.
PipedOutputStream
Flujos de Entrada de Bytes

En la figura podemos ver la
jerarquía de los flujos de entrada
de bytes de Java.
La clase padre de todos los flujos
de entrada de Java es
InputStream. Se trata de una
clase abstracta que representa
un flujo binario de datos de
salida.

Sus métodos son los siguientes:
close(): cierra el flujo de datos.
int available(): devuelve una estimación del
número de bytes que se pueden leer de este flujo
de datos de entrada sin producirse un bloqueo.
int read(): lee un único byte.
abstract int write(byte[] b, int off, int len): lee
hasta len bytes del flujo de entrada y los almacena
en el array b , empezando a leer los datos en el
offset indicado por off .
skip(long n): ignora los próximos n bytes del flujo
de entrada.
Subclases de InputStream


Las      clases   hijas     más      comunes     son
ByteArrayInputStream       ,    FileInputStream     ,
FilterInputStream , InputStream , ObjectInputStream
y PipedInputStream . Las más empleadas son
ObjectInputStream y DataInputStream.
ObjectInputStream se emplea para leer objetos de un
flujo de entrada.
ObjectOutputStream


Serializa al objeto, para esto es necesario disponer de
FileOutputStream asociado al fichero donde se va a
realizar la escritura.
Una vez hecho esto, para poder escribir en el archivo
el objeto, se usa el comando writeObject(Object b).
Uso del ObjectOutputStream

alumnos.add(new
Alumno(txtid.getText(),txtnombre.getText(),txtnrc.getText(),txtasignatura.ge
tText()));

txtid.setText("");
    txtnombre.setText("");
    txtnrc.setText("");
    txtasignatura.setText("");

    try {
       ser=new ObjectOutputStream(new FileOutputStream("Registro.txt"));
       ser.writeObject(alumnos);
       ser.close();
    } catch (IOException ex) {
       JOptionPane.showMessageDialog(rootPane, ex.getMessage());
    }
ObjectInputStream


Realiza la reconstrucción del objeto almacenado en el
fichero, se debe tener un objeto FileInputStream para
asociado al fichero de donde vamos a sacar la
información.
Mediante el método readObject(), se puede obtener
el objeto que tiene ese fichero
Uso del ObjectInputStream
Object x;
   try {

      des= new ObjectInputStream(new FileInputStream("Registro.txt"));
      x = des.readObject();

      if(x!=null)
      {
         alumnos=(ArrayList<Alumno>)x;
      }
      des.close();

    } catch (IOException ex) {
       //Logger.getLogger(Serializar.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ClassNotFoundException ex) {
      //Logger.getLogger(Serializar.class.getName()).log(Level.SEVERE, null, ex);
    }
Conclusiones


En esta presentación se observa la importancia del
almacenamiento de datos de modo persistente en los
programas Java. También puede usarse para obtener
entrada del usuario usando la consola, aunque en la
actualidad es mucho más común emplear interfaces
gráficas para interactuar con el usuario .
http://www.sc.ehu.es/sbweb/fisica//cursoJava/fundam
entos/archivos/objetos.htm
http://www.redeszone.net/2012/02/06/curso-de-java-
entrada-y-salida-con-ficheros-primeros-ejemplos/
http://www.javahispano.org/storage/contenidos/seria
lizacion.pdf

More Related Content

What's hot

ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colasiventura26
 
Taller carga datos + JAVA
Taller carga datos + JAVATaller carga datos + JAVA
Taller carga datos + JAVAJose Diaz Silva
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de informaciónAnuska González
 
Colecciones en Java
Colecciones en JavaColecciones en Java
Colecciones en JavaRonny Parra
 
randomFiles en www.fiec.espol.edu.ec
randomFiles en www.fiec.espol.edu.ecrandomFiles en www.fiec.espol.edu.ec
randomFiles en www.fiec.espol.edu.ecSilvana Vargas
 
Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Johannadotel
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colasjorgeluis0317
 
Tema 3 xml processing ap is
Tema 3   xml processing ap isTema 3   xml processing ap is
Tema 3 xml processing ap isxkorpium
 
Programacion estructurada (variables Java)
Programacion estructurada (variables Java)Programacion estructurada (variables Java)
Programacion estructurada (variables Java)Guelmy Romero
 
Expo guardar objetos en ficheros serializable (2)
Expo guardar objetos en ficheros  serializable (2)Expo guardar objetos en ficheros  serializable (2)
Expo guardar objetos en ficheros serializable (2)DIEGO MARTINEZ
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasMaxDLeon
 

What's hot (19)

ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colas
 
Taller carga datos + JAVA
Taller carga datos + JAVATaller carga datos + JAVA
Taller carga datos + JAVA
 
Archivos
ArchivosArchivos
Archivos
 
Generics C#
Generics C#Generics C#
Generics C#
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de información
 
MongoDB GDG
MongoDB GDGMongoDB GDG
MongoDB GDG
 
Colecciones en Java
Colecciones en JavaColecciones en Java
Colecciones en Java
 
randomFiles en www.fiec.espol.edu.ec
randomFiles en www.fiec.espol.edu.ecrandomFiles en www.fiec.espol.edu.ec
randomFiles en www.fiec.espol.edu.ec
 
Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
 
Capítulo 04 objetos fijos
Capítulo 04 objetos fijosCapítulo 04 objetos fijos
Capítulo 04 objetos fijos
 
Tema 3 xml processing ap is
Tema 3   xml processing ap isTema 3   xml processing ap is
Tema 3 xml processing ap is
 
Programacion estructurada (variables Java)
Programacion estructurada (variables Java)Programacion estructurada (variables Java)
Programacion estructurada (variables Java)
 
Serializacion en java
Serializacion en javaSerializacion en java
Serializacion en java
 
Archivos Java
Archivos JavaArchivos Java
Archivos Java
 
Expo guardar objetos en ficheros serializable (2)
Expo guardar objetos en ficheros  serializable (2)Expo guardar objetos en ficheros  serializable (2)
Expo guardar objetos en ficheros serializable (2)
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Capítulo 09 construcción de objetos
Capítulo 09 construcción de objetosCapítulo 09 construcción de objetos
Capítulo 09 construcción de objetos
 
Pilas
PilasPilas
Pilas
 

Viewers also liked

Técnicas de Redacción
Técnicas de RedacciónTécnicas de Redacción
Técnicas de Redacciónroger.lopez
 
Studia monetaria: Mitä Euroopan pankeille kuuluu?
Studia monetaria: Mitä Euroopan pankeille kuuluu?Studia monetaria: Mitä Euroopan pankeille kuuluu?
Studia monetaria: Mitä Euroopan pankeille kuuluu?Suomen Pankki
 
Adding Uncertainty and Units to Quantity Types in Software Models
Adding Uncertainty and Units to Quantity Types in Software ModelsAdding Uncertainty and Units to Quantity Types in Software Models
Adding Uncertainty and Units to Quantity Types in Software ModelsTanja Mayerhofer
 
Rol del profesional de la información en la sociedad de la información
Rol del profesional de la información en la sociedad de la informaciónRol del profesional de la información en la sociedad de la información
Rol del profesional de la información en la sociedad de la informaciónalvaromartinezd
 
Técnicas de Redacción
Técnicas de RedacciónTécnicas de Redacción
Técnicas de Redacciónroger.lopez
 
Presentacion cosas positivas
Presentacion cosas positivasPresentacion cosas positivas
Presentacion cosas positivasbeatrixe1922
 
Film and television: fragments from the RTE Archive
Film and television: fragments from the RTE ArchiveFilm and television: fragments from the RTE Archive
Film and television: fragments from the RTE ArchiveFIAT/IFTA
 
CECAFÉ - Relatório Mensal OUTUBRO 2016
CECAFÉ - Relatório Mensal OUTUBRO 2016CECAFÉ - Relatório Mensal OUTUBRO 2016
CECAFÉ - Relatório Mensal OUTUBRO 2016Luiz Valeriano
 
Practicing what you never preached: sorting and discarding from a practical ...
Practicing what you never preached:  sorting and discarding from a practical ...Practicing what you never preached:  sorting and discarding from a practical ...
Practicing what you never preached: sorting and discarding from a practical ...FIAT/IFTA
 
Plan de trabajo infamkon
Plan de trabajo infamkonPlan de trabajo infamkon
Plan de trabajo infamkonirlan alban
 
Sociedad del conocimiento
Sociedad del conocimientoSociedad del conocimiento
Sociedad del conocimientoirlan alban
 

Viewers also liked (18)

Técnicas de Redacción
Técnicas de RedacciónTécnicas de Redacción
Técnicas de Redacción
 
Studia monetaria: Mitä Euroopan pankeille kuuluu?
Studia monetaria: Mitä Euroopan pankeille kuuluu?Studia monetaria: Mitä Euroopan pankeille kuuluu?
Studia monetaria: Mitä Euroopan pankeille kuuluu?
 
Adding Uncertainty and Units to Quantity Types in Software Models
Adding Uncertainty and Units to Quantity Types in Software ModelsAdding Uncertainty and Units to Quantity Types in Software Models
Adding Uncertainty and Units to Quantity Types in Software Models
 
Rol del profesional de la información en la sociedad de la información
Rol del profesional de la información en la sociedad de la informaciónRol del profesional de la información en la sociedad de la información
Rol del profesional de la información en la sociedad de la información
 
Película
PelículaPelícula
Película
 
Trabajo de musica
Trabajo de musicaTrabajo de musica
Trabajo de musica
 
Técnicas de Redacción
Técnicas de RedacciónTécnicas de Redacción
Técnicas de Redacción
 
Presentacion cosas positivas
Presentacion cosas positivasPresentacion cosas positivas
Presentacion cosas positivas
 
Film and television: fragments from the RTE Archive
Film and television: fragments from the RTE ArchiveFilm and television: fragments from the RTE Archive
Film and television: fragments from the RTE Archive
 
CECAFÉ - Relatório Mensal OUTUBRO 2016
CECAFÉ - Relatório Mensal OUTUBRO 2016CECAFÉ - Relatório Mensal OUTUBRO 2016
CECAFÉ - Relatório Mensal OUTUBRO 2016
 
Presentacion google
Presentacion googlePresentacion google
Presentacion google
 
Caso obama
Caso obamaCaso obama
Caso obama
 
Social media mde
Social media mdeSocial media mde
Social media mde
 
Practicing what you never preached: sorting and discarding from a practical ...
Practicing what you never preached:  sorting and discarding from a practical ...Practicing what you never preached:  sorting and discarding from a practical ...
Practicing what you never preached: sorting and discarding from a practical ...
 
Plan de trabajo infamkon
Plan de trabajo infamkonPlan de trabajo infamkon
Plan de trabajo infamkon
 
Sociedad del conocimiento
Sociedad del conocimientoSociedad del conocimiento
Sociedad del conocimiento
 
Carito diaz
Carito diazCarito diaz
Carito diaz
 
Beneficios de ser marca
Beneficios de ser marcaBeneficios de ser marca
Beneficios de ser marca
 

Similar to Serializacion

S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividadS2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividadLuis Fernando Aguas Bucheli
 
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaFlujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaIngeniería Nica
 
Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)GENEDURAN
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y SalidaCristian Andres
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datosWhaleejaa Wha
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datosWhaleejaa Wha
 
Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iirafaelrojas91
 
Trabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IITrabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IIrafaelrojas91
 
Flujos de bytes y cadenas
Flujos de bytes y cadenasFlujos de bytes y cadenas
Flujos de bytes y cadenasJuan Durango
 
Entrada y Salida de datos en Java
Entrada y Salida de datos en JavaEntrada y Salida de datos en Java
Entrada y Salida de datos en Javakunno10
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaWhaleejaa Wha
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaWhaleejaa Wha
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaMaiirOn Gaitan
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+javaWhaleejaa Wha
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSDarwin Durand
 

Similar to Serializacion (20)

S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividadS2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
 
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaFlujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
 
Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y Salida
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datos
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datos
 
Serializacion
SerializacionSerializacion
Serializacion
 
Java io
Java ioJava io
Java io
 
Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica ii
 
Trabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IITrabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica II
 
Flujos de bytes y cadenas
Flujos de bytes y cadenasFlujos de bytes y cadenas
Flujos de bytes y cadenas
 
Entrada y Salida de datos en Java
Entrada y Salida de datos en JavaEntrada y Salida de datos en Java
Entrada y Salida de datos en Java
 
ARCHIVOS
ARCHIVOS ARCHIVOS
ARCHIVOS
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+java
 
Presentacion metodos de lectura
Presentacion metodos de lecturaPresentacion metodos de lectura
Presentacion metodos de lectura
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
 
Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 

Recently uploaded

Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOBRIGIDATELLOLEONARDO
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdfMiNeyi1
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 

Recently uploaded (20)

Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 

Serializacion

  • 1. Integrantes: • Natalia Cerón A. • Misahael Fernández M.
  • 2. Objetivo Analizar la serialización de objetos en java mediante la investigación en la web para conocer la utilidad de las clases ObjectOutputStream y ObjectInputStream.
  • 3. Introducción Para que un objeto pueda ser almacenado en el disco, es necesario que la clase a la que pertenece sea serializable. Esta característica la poseen todas aquellas clases que implementen la interfaz java.io.Serializable. La interfaz Serializable no contiene ningún método, basta que una clase la implemente para que sus objetos puedan ser serializados por la máquina virtual y por tanto ser almacenados en el disco.
  • 4. Flujos de Datos •Existen dos tipos de flujos de datos: los binarios o de bytes, y los de texto. •En los flujos de datos de bytes la información que fluye está en formato binario. •Los flujos de datos de bytes se subdividen en flujos de datos de entrada y flujos de datos de salida. •Los primeros serían flujos que nos proporcionan datos, es decir, entradas de nuestro programa. •Los segundos serían flujos en los cuales nuestro programa escribe datos, es decir, salidas de nuestro programa.
  • 5. Flujos de Salida de Bytes •En la figura podemos ver la jerarquía de los flujos de salida de bytes de Java. •La clase padre de todos los flujos de salida de Java es OutputStream . Se trata de una clase abstracta (por tanto no vamos a poder crear objetos de ella porque su funcionalidad está "incompleta") que representa un flujo de datos de salida binario cualquiera. Sus métodos son los siguientes: close(): cierra el flujo de datos. flush(): sincroniza este flujo de datos con el dispositivo al cual se están escribiendo los datos. write(byte[] b): escribe el array b de bytes que se le pasa como argumento al flujo de salida. write(byte[] b, int off, int len): escribe len bytes del array b al flujo de salida, empezando a escribirlos en el offset indicado por off . abstract void write(int b): escribe 1 byte al flujo de salida.
  • 6. Subclases de OutputStream ByteArrayOutputStream FileOutputStream: flujo de salida para la escritura de datos a un objeto de tipo File . FilterOutputStream ObjectOutputStream: encapsula otro objeto de tipo OutputStream y permite escribir objetos Java completos al flujo de datos de salida representado por el OutputStream correspondiente. PipedOutputStream
  • 7. Flujos de Entrada de Bytes En la figura podemos ver la jerarquía de los flujos de entrada de bytes de Java. La clase padre de todos los flujos de entrada de Java es InputStream. Se trata de una clase abstracta que representa un flujo binario de datos de salida. Sus métodos son los siguientes: close(): cierra el flujo de datos. int available(): devuelve una estimación del número de bytes que se pueden leer de este flujo de datos de entrada sin producirse un bloqueo. int read(): lee un único byte. abstract int write(byte[] b, int off, int len): lee hasta len bytes del flujo de entrada y los almacena en el array b , empezando a leer los datos en el offset indicado por off . skip(long n): ignora los próximos n bytes del flujo de entrada.
  • 8. Subclases de InputStream Las clases hijas más comunes son ByteArrayInputStream , FileInputStream , FilterInputStream , InputStream , ObjectInputStream y PipedInputStream . Las más empleadas son ObjectInputStream y DataInputStream. ObjectInputStream se emplea para leer objetos de un flujo de entrada.
  • 9. ObjectOutputStream Serializa al objeto, para esto es necesario disponer de FileOutputStream asociado al fichero donde se va a realizar la escritura. Una vez hecho esto, para poder escribir en el archivo el objeto, se usa el comando writeObject(Object b).
  • 10. Uso del ObjectOutputStream alumnos.add(new Alumno(txtid.getText(),txtnombre.getText(),txtnrc.getText(),txtasignatura.ge tText())); txtid.setText(""); txtnombre.setText(""); txtnrc.setText(""); txtasignatura.setText(""); try { ser=new ObjectOutputStream(new FileOutputStream("Registro.txt")); ser.writeObject(alumnos); ser.close(); } catch (IOException ex) { JOptionPane.showMessageDialog(rootPane, ex.getMessage()); }
  • 11. ObjectInputStream Realiza la reconstrucción del objeto almacenado en el fichero, se debe tener un objeto FileInputStream para asociado al fichero de donde vamos a sacar la información. Mediante el método readObject(), se puede obtener el objeto que tiene ese fichero
  • 12. Uso del ObjectInputStream Object x; try { des= new ObjectInputStream(new FileInputStream("Registro.txt")); x = des.readObject(); if(x!=null) { alumnos=(ArrayList<Alumno>)x; } des.close(); } catch (IOException ex) { //Logger.getLogger(Serializar.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { //Logger.getLogger(Serializar.class.getName()).log(Level.SEVERE, null, ex); }
  • 13. Conclusiones En esta presentación se observa la importancia del almacenamiento de datos de modo persistente en los programas Java. También puede usarse para obtener entrada del usuario usando la consola, aunque en la actualidad es mucho más común emplear interfaces gráficas para interactuar con el usuario .