Middle
Co víte o třídě RandomAccessFile?
sobes.tech AI
Odpověď od AI
RandomAccessFile umožňuje čtení a zápis dat kamkoli v súbore. Na rozdiel od prúdy nie je podtriedou InputStream alebo OutputStream.
Kľúčové vlastnosti:
- Pozicionovanie: Umožňuje pohyb v súbore, nastavovaním aktuálnej pozície pomocou metódy
seek(). - Režim prístupu: Otvorí sa s určeným režimom prístupu (
"r","rw","rws","rwd"). - Čítanie a zápis: Podporuje čítanie a zápis primitívnych typov, reťazcov a bajtových polí.
- Dĺžka súboru: Umožňuje získať aktuálnu dĺžku súboru (
length()) a nastaviť ju (setLength()).
Príklad otvorenia súboru na čítanie a zápis:
// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.txt", "rw");
// ... ďalšia práca so súborom
file.close();
Príklad pohybu v súbore a čítania:
// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.bin", "r");
file.seek(100); // Posun na 100. bajt
byte b = file.readByte(); // Čítanie jedného bajtu
file.close();
Príklad zápisu do súboru:
// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_output.txt", "rw");
file.writeBytes("Hello, world!"); // Zápis reťazca
file.close();
Režimy prístupu:
| Režim | Popis |
|---|---|
"r" |
Otvorenie na čítanie. |
"rw" |
Otvorenie na čítanie a zápis. |
"rws" |
Otvorenie na čítanie a zápis so synchronizovanou aktualizáciou obsahu a metadát súboru na úrovni operačného systému. |
"rwd" |
Otvorenie na čítanie a zápis so synchronizovanou aktualizáciou obsahu súboru na úrovni operačného systému (metadáta môžu byť odložené). |