Sobes.tech
Middle

Ką žinote apie klasę RandomAccessFile?

sobes.tech AI

Atsakymas iš AI

RandomAccessFile leidžia skaityti ir rašyti duomenis bet kurioje failo vietoje. Skirtingai nuo srautų, jis nėra InputStream ar OutputStream subclass.

Pagrindinės savybės:

  • Pozicionavimas: leidžia judėti failo viduje, nustatant dabartinę poziciją naudojant seek() metodą.
  • Prieigos režimas: atidaromas tam tikru režimu ("r", "rw", "rws", "rwd").
  • ** Skaitymas ir rašymas:** palaiko primityvių tipų, eilučių ir baitų masyvų skaitymą ir rašymą.
  • Failo ilgis: leidžia gauti dabartinį ilgį (length()) ir jį nustatyti (setLength()).

Failo atidarymo pavyzdys skaitymui ir rašymui:

// RandomAccessFile
RandomAccessFile failas = new RandomAccessFile("my_file.txt", "rw");
// ... tolesnis darbaspas su failu
failas.close();

Failo judėjimo ir skaitymo pavyzdys:

// RandomAccessFile
RandomAccessFile failas = new RandomAccessFile("my_file.bin", "r");
failas.seek(100); // Perėjimas į 100-ą baitą
byte b = failas.readByte(); // Skaityti vieną baitą
failas.close();

Rašymo į failą pavyzdys:

// RandomAccessFile
RandomAccessFile failas = new RandomAccessFile("my_output.txt", "rw");
failas.writeBytes("Hello, world!"); // Rašyti eilutę
failas.close();

Prieigos režimai:

Režimas Aprašymas
"r" Atidaroma skaitymui.
"rw" Atidaroma skaitymui ir rašymui.
"rws" Atidaroma skaitymui ir rašymui su sinchroniniu failo turinio ir metaduomenų atnaujinimu operacinės sistemos lygyje.
"rwd" Atidaroma skaitymui ir rašymui su sinchroniniu failo turinio atnaujinimu operacinės sistemos lygyje (metaduomenys gali būti atidėti).