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