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