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). |