Sobes.tech
Middle

Cosa sai della classe RandomAccessFile?

sobes.tech AI

Risposta dell'AI

RandomAccessFile consente di leggere e scrivere dati ovunque nel file. A differenza dei flussi, non è una sottoclasse di InputStream o OutputStream.

Caratteristiche principali:

  • Posizionamento: Permette di spostarsi nel file, impostando la posizione corrente tramite il metodo seek().
  • Modalità di accesso: Si apre con una modalità di accesso determinata ("r", "rw", "rws", "rwd").
  • Lettura e scrittura: Supporta la lettura e scrittura di tipi primitivi, stringhe e array di byte.
  • Lunghezza del file: Permette di ottenere la lunghezza corrente del file (length()) e di impostarla (setLength()).

Esempio di apertura di un file in modalità lettura e scrittura:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.txt", "rw");
// ... lavoro aggiuntivo con il file
file.close();

Esempio di spostamento nel file e lettura:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.bin", "r");
file.seek(100); // Spostamento al byte 100
byte b = file.readByte(); // Lettura di un byte
file.close();

Esempio di scrittura nel file:

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

Modalità di accesso:

Modalità Descrizione
"r" Apertura in modalità lettura.
"rw" Apertura in modalità lettura e scrittura.
"rws" Apertura in modalità lettura e scrittura con aggiornamento sincrono del contenuto e dei metadati del file a livello di sistema operativo.
"rwd" Apertura in modalità lettura e scrittura con aggiornamento sincrono del contenuto del file a livello di sistema operativo (i metadati possono essere ritardati).