En java, podemos usar dos tipos de ficheros: de texto o binario, y dos tipos de acceso: aleatorio y secuencial.

Los archivos de acceso aleatorio, al igual que lo que sucede usualmente con la memoria (RAM=Random Access Memory), permiten acceder a los datos en forma no secuencial, desordenada. Esto implica que el archivo debe estar disponible en su totalidad al momento de ser accedido, algo que no siempre es posible.

A menudo, no necesitas leer un fichero de principio a fin, sino simplemente acceder al fichero como si fuera una base de datos, donde se salta de un registro a otro; cada uno en diferentes partes del fichero. Java proporciona una clase RandomAccessFile para este tipo de entrada/salida.

Esta clase:

  • Permite leer y escribir sobre el fichero, no es necesario dos clases diferentes.
  • Necesita que le especifiquemos el modo de acceso al construir un objeto de esta clase: sólo lectura o bien lectura y escritura.
  • Posee métodos específicos de desplazamiento como seek(long posicion) o skipBytes(int desplazamiento) para poder movernos de un registro a otro del fichero, o posicionarnos directamente en una posición concreta del fichero.

Por esas características que presenta la clase, un archivo de acceso directo tiene sus registros de un tamaño fijo o predeterminado de antemano.

La clase posee dos constructores:

  • RandomAccessFile(File file, String mode).
  • RandomAccessFile(String name, String mode).

En el primer caso se pasa un objeto File como primer parámetro, mientras que en el segundo caso es un String. El modo es: “r” si se abre en modo lectura o “rw” si se abre en modo lectura y escritura.

  • Acceso secuencial:

En este caso los datos se leen de manera secuencial, desde el comienzo del archivo hasta el final, el cual muchas veces no se conoce. Este es el caso de la lectura del teclado o la escritura en una consola de texto, no se sabe cuándo el operador terminará de escribir.

Como operaciones más comunes en ficheros de acceso secuencial, tenemos el acceso para:

  • Crear un fichero o abrirlo para grabar datos.
  • Leer datos del fichero.
  • Borrar información de un fichero.
  • Copiar datos de un fichero a otro.
  • Búsqueda de información en un fichero.
  • Cerrar un fichero.

Para acceder a otros artículos de blog, haz clic aquí.

Abrir chat
1
Escanea el código
Hola
¿En qué podemos ayudarte?