Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2
Índice
1.4. Tema 4: Archivos, flujos y serialización de objetos
1.4.1. Introducción
1.4.2. Archivos y flujos
1.4.3. Uso de clases e interfaces NIO
1.4.4. Serialización de objetos
1.4.5. Manejo de archivos complejos en Java: JAXB (Java XML Binding) y JSON (Javascript Object Notation
3
Capacidades
• Identifica los principios de aplicaciones distribuidas.
• Diseña e implementa aplicaciones remotas usando sockets.
• Diseña e implementa aplicaciones que permitan la gestión de un sistema de archivos en cualquier plataforma.
• Implementa aplicaciones que soporten el manejo de middleware de mensajería para optimizar la arquitectura y
desempeño.
4
1.4.1. Introducción
5
1.4.2. Archivos y Flujos
Un programa de Java que procesa un flujo de bytes simplemente recibe una indicación del sistema operativo cuando el
programa llega al fin del flujo; el programa no necesita saber cómo representa la plataforma subyacente a los archivos o flujos.
6
1.4.3. Uso de clases e interfaces NIO
Las interfaces Path y DirectoryStream, junto con las clases Paths y Files (todas del paquete java.nio.file) son útiles para
recuperar información sobre los archivos y directorios en el disco.
7
1.4.4. Serialización de objetos
Un objeto serializado es un objeto que se representa como una secuencia de bytes, la cual incluye los datos del objeto, así
como información acerca del tipo del objeto y los tipos de los datos almacenados en el mismo.
8
1.4.5.Manejo de archivos complejos en Java: JAXB (Java
XML Binding) y JSON (Javascript Object Notation)
En el desarrollo de aplicaciones distribuidas y servicios Web, es más frecuente encontrarse con formatos más complejos; si
bien todo puede realizarse a través de flujos base, existen herramientas que facilitan la manipulación como: XML y JSON.
9
Ejercicios
JAXB y GSON
Java NIO
10
Conclusiones
• El paquete java.io proporciona un conjunto de clases para manejar inputs y outputs dentro de nuestras aplicaciones.
• Las clases FileInputStream y FileOutputStream definen flujos de entrada y salida de bytes que están conectados a archivos.
• Los archivos de texto plano pueden definirse a libertad para guardar información de una aplicación (logs o valores de una
entidad).
• Los archivos serializados permiten guardar la información de un objeto así como su estado.
• Para ello es necesario que el objeto implemente la interfaz “Serializable”.
• Los archivos complejos como XML o JSON requieren un tratamiento especial, si bien pueden manipularse mediante los
mecanismos básicos de Java, la programación resulta más eficiente utilizando tecnologías propias del lenguaje como JAXB
o librerías externas como GSON.
11
Referencias bibliográficas
• Christudas, Binildas (2019) Practical Microservices Architectural Patterns. New York: Apress.
• Deitel, P. & Deitel, H. (2020) Cómo programar en Java. 10a ed. México D.F.: Pearson.
• Erl, Thomas (2016) Service-Oriented Architecture: Analysis and Design for Services and Microservices. 2a ed. México D.F.:
Pearson.
• García, Moisés Macero (2020) Learn Microservices with Spring Boot. New York: Apress.
12
GRACIAS
SEDE SAN JUAN DE LURIGANCHO SEDE LIMA CENTRO SEDE BELLAVISTA SEDE AREQUIPA
Av. Próceres de la Independencia 3023-3043 Av. Uruguay 514 Av. Mariscal Oscar R. Benavides 3866 – 4070 Av. Porongoche 500
San Juan de Lurigancho – Lima Cercado – Lima (CC Mall Aventura Plaza) (CC Mall Aventura Plaza)
Teléfono: 633-5555 Teléfono: 419-2900 Bellavista – Callao Paucarpata - Arequipa
Teléfono: 633-5555 Teléfono: (054) 60-3535
www.cibertec.edu.pe