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