Sobes.tech
Middle

Čo viete o triede RandomAccessFile?

sobes.tech AI

Odpoveď od AI

RandomAccessFile umožňuje čítanie a zápis dát kdekoľvek v súbore. Na rozdiel od prúdov 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é).