Java RandomAccessfile

Java RandomAccessfile
Wir werden uns die RandomAccessfile -Klasse in diesem Artikel ansehen. Es verwendet einen Cursor, um den Zeigerspeicherort über die Datei zu verschieben. Die Fähigkeit, auf die Datei zufällig zugreifen.

Beispiel 1: Anhängen von Text am Ende einer Datei

In diesem Beispiel werden wir den Text am Ende der folgenden Datei mit den Methoden der RandomAccessfile -Klasse hinzufügen.

Erstens importieren wir die Java.io. RandomAccessfile -Klasse. Als nächstes machen wir ein neues Objekt der RandomAccessfile Durch Aufrufen des Konstruktors der RandomAccessfile (“Datei.txt ”,„ rw “). Mit dem Dateinamen und dem Modus erstellt dieses Funktion Object () einen zufälligen Accessfile -Stream. In diesem Fall ist der Modus „RW“, der die Datei im Read-Write-Modus startet.

Die Methode „Seek ()“ wird in der nächsten Zeile mit der Parameterdatei verwendet. Die Länge () -Methode legt den Cursor/Zeiger auf die angegebene Position fest. Im vorherigen Fall ist es das Ende des Dateitextes. Anschließend wird die WriteBytes () -Methode mit der String („ipsum“) als Parameter aufgerufen. Diese Methode schreibt die Zeichenfolge aus dem aktuellen Dateizeiger oder dem Cursor. F.Close () -Methode schließt den Zufallszugriffsdateistrom schließt. Alle vom Stream verwendeten Systemressourcen werden freigegeben.

Nach dem Kompilieren des angegebenen Code können wir die „erfolgreich hinzugefügten Daten“ im Terminal sehen, was darauf hinweist, dass der Code erfolgreich ausgeführt wurde. Dann öffnen wir die "Datei".TXT ”-Datei, in der wir die Daten in unserem Code angehängt haben, können wir feststellen, dass unsere Daten am Ende der Datei erfolgreich angehängt werden.

Beispiel 2: Text aus einer Textdatei lesen

In diesem Beispiel werden wir den Inhalt einer Textdatei mit den Methoden der RandomAccessfile -Klasse lesen. Die in diesem Beispiel gelesene Datei ist wie im Folgenden dargestellt:

Im angegebenen Code importieren wir zuerst die „Java.io.RandomAccessfile “, um seine Methoden und Funktionen zu verwenden. Hier erstellen wir einen RandomAccessfile-Stream mit Modus „R“, der darstellt, dass er sich im schreibgeschützten Modus befindet. Der aktuelle Offset in Bytes aus dem Start der Datei erfolgt durch die „F.GetFilepointer () ”Funktion. Anschließend liefern wir diesen Wert für die Funktion von Seek (), die den Dateizeiger auf den Beginn der Datei festlegt. Anschließend erzeugen wir ein 5-Byte-Array. Wenn die Lesemethode mit diesem Array als Parameter aufgerufen wird (F.Lesen Sie (Bytes)), die 5 Bytes werden aus der Datei gelesen und dem 5 -Byte -Array hinzugefügt.

Das f.Close () -Methode schließt den RandomAccessfile -Stream. Alle vom Stream verwendeten Systemressourcen werden freigegeben.

Schließlich geben die Rückgabebytes das Array zurück, in dem der Text aus der Datei gelesen und hinzugefügt wird. Dies ist im Folgenden zu sehen, dass nur 5 Zeichen der Datei auf dem Terminal angezeigt werden.

Beispiel 3: Text in einer Textdatei schreiben

In diesem Beispiel werden wir die Methoden von Seek (), Write () und Close () verwenden, um die Daten in eine Textdatei zu schreiben. Die Get -Bytes -Funktion wird in diesem Beispiel auch zum Schreiben verwendet.

Im angegebenen Code importieren wir zuerst die Java.io. RandomAccessfile, um seine Methoden und Funktionen zu verwenden. Hier erstellen wir einen RandomAccessfile-Stream mit dem Modus „RW“, der darstellt, dass er sich im Read-Write-Modus befindet. Das f.Suchen Sie (5) Methode verschiebt die Position des Dateizeigers in die 5th Index. Dann der f.Schreiben ("Daten".getBytes ()) schreibt die neuen Bytes von „Daten“ und ersetzt die vorhandenen Bytes, falls vorhanden an diesem Ort vorhanden sind.

Das f.Close () -Methode schließt den RandomAccessfile -Stream. Alle vom Stream verwendeten Systemressourcen werden freigegeben.

Nach Abschluss der Zusammenstellung wird die Zeichenfolge „erfolgreich hinzugefügte Daten“ am Terminal angezeigt, um anzuzeigen, dass der Code erfolgreich ausgeführt wurde. Die Textdatei, in der wir den Text mit der RandomAccessfile geschrieben haben, ist im Folgenden angezeigt:

Beispiel 4: Anhängen, Hinzufügen von Text in einer Datei und Lesen des Textes der Datei

In diesem Beispiel werden wir alle verschiedenen Ansätze implementieren, die wir mit dem RandomAccessFile -Klassenobjekt und seinen mehreren Funktionen zum Schreiben, Anhängen und Lesen der Daten aus einer Textdatei verfolgen können.

Wir erstellen drei verschiedene Funktionen in einer einzigen Klasse zum Schreiben, Anhängen der Daten und das Lesen des Inhalts der Textdatei. In der Funktion "Anhangdaten" und "Write Data" verwenden wir die Funktion write () unter Verwendung des Objekts der RandomAccessfile -Klasse. In der Funktion der Anhangdaten fügen wir die Daten nach dem letzten Byte der Datei mit der Datei hinzu.Länge () Funktion als Parameter in der Funktion seeears (). In der Funktion "Schreibdaten" fügen wir die Daten zu Beginn der Datei ein, indem wir einen Ganzzahlwert in die Funktion seeee () übergeben. Auf diese. In der letzten Funktion verwenden wir die Funktion read (), um die Bytes der Datei zu lesen. In dieser Funktion übergeben wir zwei Parameter, die als Bereich fungieren, aus dem wir die Daten lesen möchten.

Wie wir im Terminal sehen können, zeigt die Ausgabe nur die ersten 5 Bytes der Datei, da der Bereich in der Funktion read () festgelegt ist. Jetzt öffnen wir die Textdatei und überprüfen, dass die Daten an der richtigen Position eingefügt und angehängt werden.

Wie wir im vorherigen Snippet sehen können, werden die Daten in der Textdatei korrekt eingefügt, nachdem wir unser Java -Programm ausgeführt haben.

Abschluss

Wir haben die Verwendung der RandomAccessfile -Klasse in Java in diesem Artikel besprochen. Das Objekt dieser Klasse wird verwendet, um die mehrfachen Funktionen aufzurufen, die beim Extrahieren und Einfügen der Daten in eine Textdatei lukrativ sind. Wir haben mehrere Beispiele für die verschiedenen Methoden dieser Klasse im Ubuntu 20 implementiert.04 Umgebung. In diesen Beispielen haben wir die Daten write (), such () und read () verwendet, um die Daten in eine Textdatei einzufügen und den Inhalt der Textdatei danach zu lesen.