Sobes.tech
Middle

Ko jūs zināt par klasi RandomAccessFile?

sobes.tech AI

Atbilde no AI

RandomAccessFile nodrošina iespēju lasīt un rakstīt datus jebkurā faila vietā. Atšķirībā no straumēm, tas nav InputStream vai OutputStream apakšklase.

Galvenās īpašības:

  • Pozicionēšana: ļauj pārvietoties failā, iestatot pašreizējo pozīciju ar seek() metodi.
  • Piekļuves režīms: tiek atvērts noteiktā režīmā ("r", "rw", "rws", "rwd").
  • Lasīšana un rakstīšana: atbalsta primitivu tipu, virkņu un baitu masīvu lasīšanu un rakstīšanu.
  • Faila garums: ļauj iegūt pašreizējo garumu (length()) un to iestatīt (setLength()).

Faila atvēršanas piemērs lasīšanai un rakstīšanai:

// RandomAccessFile
RandomAccessFile fails = new RandomAccessFile("my_file.txt", "rw");
// ... turpmāka darbība ar failu
fails.close();

Faila pārvietošanas un lasīšanas piemērs:

// RandomAccessFile
RandomAccessFile fails = new RandomAccessFile("my_file.bin", "r");
fails.seek(100); // Pārvietojums uz 100. baitu
byte b = fails.readByte(); // Viena baitas lasīšana
fails.close();

Rakstīšanas failā piemērs:

// RandomAccessFile
RandomAccessFile fails = new RandomAccessFile("my_output.txt", "rw");
fails.writeBytes("Hello, world!"); // Rindas rakstīšana
fails.close();

Piekļuves režīmi:

Režīms Apraksts
"r" Atvērts lasīšanai.
"rw" Atvērts lasīšanai un rakstīšanai.
"rws" Atvērts lasīšanai un rakstīšanai ar sinhronizētu faila saturu un metadatu atjauninājumu operētājsistēmas līmenī.
"rwd" Atvērts lasīšanai un rakstīšanai ar sinhronizētu faila satura atjauninājumu operētājsistēmas līmenī (metadati var tikt atlikti).