Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Concepto
Los datos mantenidos como archivos se denominan persistentes.
Jerarquía de datos
Así como los caracteres se componen de bits, los campos se componen de caracteres. Un
campo es un grupo de caracteres que comunican algo (un nombre por ejemplo).
Los elementos de información procesados forman una jerarquía en la que los elementos se
hacen cada vez más grandes y con una estructura más compleja (bits, bytes, campos, etc.)
Registro
Un registro se compone de varios campos (atributos de Java) por ejemplo:
1. Número ID
2. Nombre
3. Dirección
4. Sueldo/hora
Archivo
Un archivo es un grupo de registros relacionados entre sí. Puede tener muchos registros y
todos deben tener el mismo formato. A un grupo de archivos relacionados entre sí, se lo
denomina base de datos
Stream
Un stream es un conducto por el cual fluye información de manera secuencial entre el
programa y una fuente externa.
Algoritmo
open a stream
while more information
read/write information
close the stream
int 4
double 8
float 4
long 8
char 2
String 2+char
boolean 1
Agregar Registro
Los métodos de RandomAccessFile que permiten agregar registros son:
● length() proporciona la cantidad de bytes que tiene el archivo y
● seek(n) mueve el puntero al byte n.
● write envía a la salida el registro de información del objeto RandomAccessFile que
se le pase como parámetro.
○ Ejemplo: archivo.writeInt(número);
○ Hay que tener cuidado con los strings ya que su dimensión es variable.
Buscar registro
Implica el movimiento del puntero, registro por registro, comparando un valor determinado
con el de alguno de los campos almacenados (clave).
Consultar registro
Para consultar un registro, se debe conocer su ubicación (byte donde comienza).
● Se puede imprimir los resultados o devolver un objeto con los elementos del registro.
Modificar registro
Para modificar un registro debemos saber dónde está, posicionarnos al comienzo de este y
sobreescribirlo con un registro del mismo tamaño.
Cerrar el archivo
Antes de finalizar se debe cerrar el archivo para que las modificaciones realizadas en el
programa sean guardadas.
A tener en cuenta:
Leer y escribir string = writeUTF(palabra), readUTF
Para guardar Objetos
Mapeo
Pasar de un formato a otro, puede ser automático o manual.
Objeto <-> Archivo: Manual porque el programador respeta el orden en que se configura el
archivo o el orden para crear el objeto por parámetros.
Atributo <-> Campo: Automática porque lo hace java con métodos específicos
(atributo=objeto -> campo)
Persistencia de objetos
● Se guarda objeto solo en 1 campo, se recupera de la misma forma, automatico.
● Mapeo de objeto a objeto.
● Se utiliza las clases ObjectOutputStream y ObjectInputStream
● Los objetos a guardar deben implementar la clase serializable
○ También los objetos dentro del objeto, sino se guarda null
● Al recuperar los objetos, vuelven como Object, se debe castear.
¿Hay diferencia de mapeo? Si, el mapeo del RandomAccessFile es Manual, ya que para
guardar objetos se debe guardar cada atributo en orden. Mientras que en ObjectInput es
automático, ya que se utiliza un método concreto de java para subirlo completo.