# data[].attributes.body
Benemérita Universidad Autónoma de Puebla

Ingeniería en ciencias de la computación

Matricula: 202438546

Profesor: Elvia Rios Gonzales

Alumno: Santiago Ivan Morales Lezama

Periodo: Primavera 2025

Materia: Programación avanzada

# data[].attributes.body
📘 Texto

Usa clases como BufferedReader, FileWriter.

Para leer y escribir caracteres.

Ideal para archivos .txt, logs, CSV.

💾 Binario

Usa InputStream, DataOutputStream.

Procesa bytes, más compacto y eficiente.

Se usa con imágenes, archivos multimedia.

📦 Serializable

Usa ObjectInputStream y ObjectOutputStream.

Permite guardar objetos completos.

La clase debe implementar Serializable.

# data[].attributes.body
Definición:

El flujo de texto permite leer o escribir información como una secuencia de caracteres. Es útil cuando se trabaja con archivos legibles por humanos, como .txt, .csv, logs o configuraciones simples.

Clases principales:

• Reader: Clase abstracta para leer caracteres.

• BufferedReader: Permite leer texto línea por línea, de forma eficiente.

• FileReader: Lee caracteres directamente desde un archivo.

• Writer: Clase abstracta para escribir caracteres.

• BufferedWriter: Escribe texto en bloques grandes, mejorando el rendimiento.

• FileWriter: Escribe caracteres directamente en un archivo.

# data[].attributes.body
• Ideal para información legible por humanos.

• Fácil de editar o revisar sin herramientas especiales.

• Compatible con editores de texto comunes.

Aplicaciones comunes:

Almacenamiento de notas, informes o datos simples.

Archivos de configuración .ini, .properties.

Generación de reportes o exportación de datos en formato .csv.

# data[].attributes.body
Definición:

Un flujo binario permite leer o escribir datos en forma de bytes (8 bits). Es ideal para trabajar con archivos que no son de texto, como imágenes, audio, video, y archivos de datos estructurados.

Clases principales:

• InputStream: Clase abstracta que permite leer datos binarios.

• FileInputStream: Lee bytes directamente desde un archivo.

• DataInputStream: Permite leer tipos de datos primitivos (int, double, char, etc.) desde un flujo binario.

• OutputStream: Clase abstracta que permite escribir datos binarios.

• FileOutputStream: Escribe bytes directamente a un archivo.

• DataOutputStream: Permite escribir tipos primitivos en formato binario.

# data[].attributes.body
• Más eficiente y compacto que el texto.

• No depende del formato de codificación de caracteres (como UTF-8).

• Ideal para trabajar con archivos multimedia o datos complejos.

Aplicaciones comunes:

Guardar archivos de configuración binarios.

Almacenar estructuras de datos complejas.

Manipular multimedia: imágenes, audio, etc.

# data[].attributes.body
Definición:

La serialización en Java es el proceso de convertir un objeto en una secuencia de bytes para poder almacenarlo (por ejemplo, en un archivo) o transmitirlo (por ejemplo, por red). Posteriormente, este objeto puede ser reconstruido (deserializado).

Requisitos:

• La clase debe implementar la interfaz Serializable.

• Todos los atributos del objeto también deben ser serializables (o marcados como transient si no deben guardarse).

Clases principales:

• ObjectOutputStream: Escribe objetos en un flujo de salida.

• ObjectInputStream: Lee objetos desde un flujo de entrada.

# data[].attributes.attachment_link.title
Streams de entrada y salida en Java – Curso de Java IO

# data[].attributes.body
¿Qué tipo de flujo usas para guardar objetos en Java?

Texto

Binario

Serializable

¿Cuál es más legible para humanos?

Binario

Texto

Serializable

¿Con qué tipo de flujo se usa FileReader?

Binario

Texto

Serializado

# data[].attributes.body
📚 Fuentes confiables:

Oracle Java Documentation: https://docs.oracle.com/javase/8/docs/api/

GeeksForGeeks: I/O Streams in Java

W3Schools: Java I/O

YouTube: Curso Píldoras Informáticas y otros canales de Java