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