Middle
Ce știi despre clasa RandomAccessFile?
sobes.tech AI
Răspuns de la AI
RandomAccessFile oferă posibilitatea de a citi și scrie date oriunde în fișier. Spre deosebire de fluxuri, nu este o subclasă a InputStream sau OutputStream.
Caracteristici cheie:
- Poziționare: Permite deplasarea în fișier, stabilind poziția curentă prin metoda
seek(). - Mod de acces: Se deschide cu un anumit mod de acces (
"r","rw","rws","rwd"). - Citire și scriere: Suportă citirea și scrierea tipurilor primitive, șirurilor și array-urilor de octeți.
- Lungimea fișierului: Permite obținerea lungimii curente a fișierului (
length()) și setarea acesteia (setLength()).
Exemplu de deschidere a fișierului pentru citire și scriere:
// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.txt", "rw");
// ... lucru suplimentar cu fișierul
file.close();
Exemplu de deplasare în fișier și citire:
// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.bin", "r");
file.seek(100); // Deplasare la byte-ul 100
byte b = file.readByte(); // Citirea unui byte
file.close();
Exemplu de scriere în fișier:
// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_output.txt", "rw");
file.writeBytes("Hello, world!"); // Scrierea unui șir
file.close();
Moduri de acces:
| Mod | Descriere |
|---|---|
"r" |
Deschidere pentru citire. |
"rw" |
Deschidere pentru citire și scriere. |
"rws" |
Deschidere pentru citire și scriere cu actualizare sincronă a conținutului și metadatelor fișierului la nivelul sistemului de operare. |
"rwd" |
Deschidere pentru citire și scriere cu actualizare sincronă a conținutului fișierului la nivelul sistemului de operare (metadatele pot fi amânate). |