Sobes.tech
Middle

Wat weet je over de klasse RandomAccessFile?

sobes.tech AI

Antwoord van AI

RandomAccessFile biedt de mogelijkheid om gegevens te lezen en te schrijven op elke locatie in het bestand. In tegenstelling tot streams is het geen subklasse van InputStream of OutputStream.

Belangrijkste kenmerken:

  • Positionering: Maakt het mogelijk om door het bestand te bewegen, door de huidige positie in te stellen met de methode seek().
  • Toegangsmodus: Wordt geopend met een bepaalde toegangsmodus ("r", "rw", "rws", "rwd").
  • Lezen en schrijven: Ondersteunt het lezen en schrijven van primitieve typen, strings en byte-arrays.
  • Bestandslengte: Maakt het mogelijk om de huidige lengte van het bestand (length()) op te vragen en in te stellen (setLength()).

Voorbeeld van het openen van een bestand voor lezen en schrijven:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.txt", "rw");
// ... verdere bewerkingen met het bestand
file.close();

Voorbeeld van bewegen in het bestand en lezen:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.bin", "r");
file.seek(100); // Beweging naar byte 100
byte b = file.readByte(); // Lezen van één byte
file.close();

Voorbeeld van schrijven naar het bestand:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_output.txt", "rw");
file.writeBytes("Hello, world!"); // Schrijven van een string
file.close();

Toegangsmodi:

Modus Beschrijving
"r" Openen voor lezen.
"rw" Openen voor lezen en schrijven.
"rws" Openen voor lezen en schrijven met synchronisatie van inhoud en metadata van het bestand op systeemniveau.
"rwd" Openen voor lezen en schrijven met synchronisatie van inhoud van het bestand op systeemniveau (metadata kunnen worden uitgesteld).