Sobes.tech
Middle

Was wissen Sie über die Klasse RandomAccessFile?

sobes.tech KI

Antwort von AI

RandomAccessFile bietet die Möglichkeit, Daten an beliebiger Stelle in einer Datei zu lesen und zu schreiben. Im Gegensatz zu Streams ist es keine Unterklasse von InputStream oder OutputStream.

Hauptmerkmale:

  • Positionierung: Ermöglicht das Bewegen innerhalb der Datei, indem die aktuelle Position mit der Methode seek() festgelegt wird.
  • Zugriffsmodus: Wird mit einem bestimmten Zugriffsmodus geöffnet ("r", "rw", "rws", "rwd").
  • Lesen und Schreiben: Unterstützt das Lesen und Schreiben primitiver Datentypen, Strings und Byte-Arrays.
  • Dateilänge: Ermöglicht das Abrufen der aktuellen Dateilänge (length()) und das Festlegen dieser (setLength()).

Beispiel zum Öffnen einer Datei zum Lesen und Schreiben:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.txt", "rw");
// ... weitere Arbeit mit der Datei
file.close();

Beispiel für das Bewegen innerhalb der Datei und Lesen:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.bin", "r");
file.seek(100); // Verschiebung auf Byte 100
byte b = file.readByte(); // Ein Byte lesen
file.close();

Beispiel für das Schreiben in die Datei:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_output.txt", "rw");
file.writeBytes("Hello, world!"); // String schreiben
file.close();

Zugriffsmodi:

Modus Beschreibung
"r" Öffnen zum Lesen.
"rw" Öffnen zum Lesen und Schreiben.
"rws" Öffnen zum Lesen und Schreiben mit synchroner Aktualisierung des Inhalts und der Metadaten der Datei auf Betriebssystemebene.
"rwd" Öffnen zum Lesen und Schreiben mit synchroner Aktualisierung des Dateiinhalts auf Betriebssystemebene (Metadaten können verzögert werden).