Sobes.tech
Middle

Šta znate o klasi RandomAccessFile?

sobes.tech АИ

Одговор од АИ

RandomAccessFile omogućava čitanje i pisanje podataka bilo gde u fajlu. Za razliku od tokova, nije podklasa InputStream ili OutputStream.

Ključne osobine:

  • Pozicioniranje: Omogućava pomeranje unutar fajla, postavljanjem trenutne pozicije pomoću metode seek().
  • Režim pristupa: Otvara se sa određenim režimom pristupa ("r", "rw", "rws", "rwd").
  • Čitanje i pisanje: Podržava čitanje i pisanje primitivnih tipova, nizova i bajtova.
  • Dužina fajla: Omogućava dobijanje trenutne dužine fajla (length()) i njeno postavljanje (setLength()).

Primer otvaranja fajla za čitanje i pisanje:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.txt", "rw");
// ... dodatni rad sa fajlom
file.close();

Primer pomeranja unutar fajla i čitanja:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.bin", "r");
file.seek(100); // Pomeranje na 100. bajt
byte b = file.readByte(); // Čitanje jednog bajta
file.close();

Primer pisanja u fajl:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_output.txt", "rw");
file.writeBytes("Hello, world!"); // Pisanje niza
file.close();

Režimi pristupa:

Režim Opis
"r" Otvaranje za čitanje.
"rw" Otvaranje za čitanje i pisanje.
"rws" Otvaranje za čitanje i pisanje sa sinhronizovanom ažuriranjem sadržaja i metapodataka fajla na nivou operativnog sistema.
"rwd" Otvaranje za čitanje i pisanje sa sinhronizovanom ažuriranjem sadržaja fajla na nivou operativnog sistema (metapodaci mogu biti odloženi).