Documente Academic
Documente Profesional
Documente Cultură
Unidad 6
ARCHIVOS BINARIOS
Los archivos binarios nos permiten guardar un
objeto directamente en un archivo sin tener que
representarlo con texto.
Pero ya vimos una manera de guardar nuestra
informacin en archivos, entonces para qu
buscar otra?
Existen varias razones para utilizar archivos
binarios, una de las principales es que nos
permite utilizar ms fcilmente el paradigma
orientado a objetos.
COMPARACIN
Los archivos
de texto ocupan
ms espacio
para guardar la
misma
informacin.
Prdida de
Informacin
En especial
cuando estn
relacionados
con otras clases.
Prdida de
calidad
Adems crear
archivos de
texto es ms
complicado
Archivos Binarios
Archivos de Texto
ARCHIVOS BINARIOS
2.
3.
4.
ANTES DE EMPEZAR
Qu hacemos para que los objetos sepan cmo
leerse y escribirse de un archivo binario?
Para conseguir esto en Java existe una interface
que les permite serializarse, es decir, convertirse
en bits o deserializarse, es decir, convertirse en
datos.
La interfaz se llama Serializable y todas las
clases que queremos guardar en archivos binarios
deben implementarla.
ANTES DE EMPEZAR
Con slo implementar Serializable nuestras
clases crearn objetos que saben cmo guardarse
y leerse de archivos binarios, sin embargo cmo
sabe Java cuando tus clases cambian y se vuelven
inutilizables?
Para eso utilizamos el atributo
serialVersionUID.
Este atributo es como la versin de la clase.
Siempre que queremos agregar atributos o
modificar la clase significativamente debemos
cambiar la versin.
ESCRITURA DE ARCHIVOS
BINARIOS
Una vez que tenemos clases serializables
debemos crear un flujo de bits, por suerte Java
cuenta con dos clases que nos permiten hacerlo.
La clase que nos sirve para escribir archivos
binarios es ObjectOutputStream, que contiene
el mtodo writeObject() con el que podemos
escribir cualquier objeto.
ESCRITURA DE ARCHIVOS
BINARIOS
Serializable
Poner el atributo serialVersionUID
Crear el objeto que vamos a guardar
Crear un ObjectOutputStream
Guardar el objeto
Cerrar el ObjectOutputStream
Serializable
Poner el atributo serialVersionUID
Crear un ObjectInputStream
Leer el objeto y hacer un cast
Cerrar el ObjectInputStream