Sobes.tech
Middle

¿Qué sabes sobre la clase RandomAccessFile?

sobes.tech AI

Respuesta de la IA

RandomAccessFile proporciona la capacidad de leer y escribir datos en cualquier lugar del archivo. A diferencia de los flujos, no es una subclase de InputStream o OutputStream.

Características clave:

  • Posicionamiento: Permite desplazarse por el archivo, estableciendo la posición actual mediante el método seek().
  • Modo de acceso: Se abre con un modo de acceso determinado ("r", "rw", "rws", "rwd").
  • Lectura y escritura: Soporta la lectura y escritura de tipos de datos primitivos, cadenas y matrices de bytes.
  • Longitud del archivo: Permite obtener la longitud actual del archivo (length()) y establecerla (setLength()).

Ejemplo de apertura de archivo para lectura y escritura:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.txt", "rw");
// ... trabajo adicional con el archivo
file.close();

Ejemplo de desplazamiento en el archivo y lectura:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.bin", "r");
file.seek(100); // Desplazamiento a la posición 100
byte b = file.readByte(); // Leer un byte
file.close();

Ejemplo de escritura en el archivo:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_output.txt", "rw");
file.writeBytes("Hello, world!"); // Escribir una cadena
file.close();

Modos de acceso:

Modo Descripción
"r" Apertura para lectura.
"rw" Apertura para lectura y escritura.
"rws" Apertura para lectura y escritura con actualización sincrónica del contenido y metadatos del archivo a nivel del sistema operativo.
"rwd" Apertura para lectura y escritura con actualización sincrónica del contenido del archivo a nivel del sistema operativo (los metadatos pueden ser pospuestos).