0% encontró este documento útil (0 votos)
17 vistas13 páginas

Java - Exceptions & File Handling Apuntes

El documento describe las clases de manejo de excepciones y archivos en Java, incluyendo InputStream, OutputStream, Reader y Writer, así como sus subclases y funcionalidades. Se enfatiza la importancia de la interfaz Serializable para la lectura y escritura de objetos con ObjectInputStream y ObjectOutputStream. Además, se menciona el uso de bibliotecas como Gson para manejar listas de objetos en formato JSON.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas13 páginas

Java - Exceptions & File Handling Apuntes

El documento describe las clases de manejo de excepciones y archivos en Java, incluyendo InputStream, OutputStream, Reader y Writer, así como sus subclases y funcionalidades. Se enfatiza la importancia de la interfaz Serializable para la lectura y escritura de objetos con ObjectInputStream y ObjectOutputStream. Además, se menciona el uso de bibliotecas como Gson para manejar listas de objetos en formato JSON.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Java -

Exceptions &
File Handling
BYTE
InputStream
FilterInputStream DataInputStream

🔧 Clase abstracta base 🛠️ Clase decoradora: 📦 Lee datos primitivos


para leer bytes (no se usa
mejora funcionalidades de (int, float, boolean...) desde
sola).
otras (Buffered, Data...). bytes.

📎 Otras clases heredan de Normalmente no se usa sola. Muy útil cuando sabes el
ella.
tipo de dato que vas a leer.

BufferedInputStream
FileInputStream ObjectInputStream

📂 Lee bytes directamente 🚀 Lee datos más rápido, 🧠 Lee objetos completos
usando un búfer (memoria
desde un archivo. desde un archivo (si antes
intermedia). Para archivos
fueron serializados).
🧠 Sirve para leer datos grandes.

binarios como imágenes,


vídeos o cualquier archivo.
🧪 Se usa junto con Para usarlo, el objeto debe
implementar Serializable.
FileInputStream.
OutputStream
FilterOutputStream
💾 Clase base para DataOutputStream
escribir bytes. 🔧 Clase base para filtros
de escritura como 📦 Escribe datos
📎 Otras clases heredan de BufferedOutputStream y primitivos (int, float, etc.).
ella. DataOutputStream.

ObjectOutputStream
FileOutputStream BufferedOutputStream
🧠 Escribe objetos enteros
📂 Escribe bytes 🚀 Escribe más rápido a archivos.
directamente en un usando memoria
archivo. intermedia. Para usarlo, el objeto debe
implementar Serializable.
CARACTER
Reader InputStreamReader

📖 Clase base para leer 🔄 Convierte bytes en


caracteres. caracteres.

📎 Otras clases heredan de Se usa, por ejemplo, para


ella. leer desde consola
([Link]).

BufferedReader

FileReader
🚀 Lee texto más rápido, y
📂 Lee texto (caracteres) permite usar .readLine(),
para leer una línea
desde un archivo .txt.
completa de texto de un
archivo
InputStreamReader

Writer
🔄 Convierte bytes en
✍️ Clase base para caracteres.

escribir texto.
Se usa, por ejemplo, para
leer desde consola
([Link]).

BufferedWriter

FileWriter
🚀 Escribe más rápido y
📂 Escribe caracteres en permite métodos útiles
como .newLine(), para
un archivo.
escribir un salto de línea
(\n) en el archivo
🧠 ¿Qué es Serializable?
Serializable es una interfaz vacía (sin métodos) que le dice a Java:

“Este objeto puede ser convertido a bytes para poder guardarse o


enviarse.”

⚠️ Si NO implementas Serializable...
Te dará un error en tiempo de ejecución:

[Link]: Persona
✅ RESUMEN CLARO
Situación ¿Necesita Serializable?

Leer o escribir un objeto con ObjectOutputStream / ObjectInputStream ✅ SÍ


Leer o escribir texto o bytes (sin objetos) ❌ NO
Usar listas, mapas, etc. que contienen objetos ✅ SÍ, si guardas esas listas
Lectura genérica de archivos (BufferedReader, FileReader, etc.) ❌ NO
BINARIO
📥 ¿Y si quieres guardar una lista de objetos?
JSON

[Link]:gson:2.13.1
🧠 ¿Y si es una lista de objetos?

También podría gustarte