Heim >Java >javaLernprogramm >Wie lese ich eine TXT-Datei mit RandomAccessFile in Java?

Wie lese ich eine TXT-Datei mit RandomAccessFile in Java?

WBOY
WBOYnach vorne
2023-09-08 20:13:02865Durchsuche

Wie lese ich eine TXT-Datei mit RandomAccessFile in Java?

Normalerweise können Sie beim Lesen oder Schreiben einer Datei nur Daten vom Anfang der Datei lesen oder schreiben. Sie können nicht von beliebigen Orten aus lesen/schreiben.

Mit der Klasse java.io.RandomAccessFile in Java können Sie Daten in Direktzugriffsdateien lesen/schreiben.

Dies ähnelt einem großen Byte-Array mit einem Index oder Cursor (Dateizeiger genannt). Sie können die Position dieses Zeigers mit der Methode getFilePointer() ermitteln und die Position mit der Methode see() festlegen.

Diese Klasse bietet verschiedene Methoden zum Lesen und Schreiben von Dateien. Die Methode readLine() dieser Klasse liest die nächste Zeile aus der Datei und gibt sie als String zurück.

Die Schritte zum Lesen von Daten aus einer Datei mit der Methode readLine() dieser Klasse lauten wie folgt:

  • Instanziieren Sie die Dateiklasse, indem Sie den Pfad der erforderlichen Datei im Zeichenfolgenformat übergeben.

  • Instanziieren Sie die StringBuffer-Klasse.

  • Instanziieren Sie die RandomAccessFile-Klasse, indem Sie das oben erstellte File-Objekt und eine Zeichenfolge übergeben, die den Zugriffsmodus darstellt (r: lesen, rw: lesen/schreiben usw.).

  • Iterieren Sie über die Datei, wenn ihre Position kleiner als ihre Länge ist (length()-Methode).

  • Fügen Sie jede Zeile an das oben erstellte StringBuffer-Objekt an.

Beispiel

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
public class RandomAccessFileExample {
   public static void main(String args[]) throws IOException {
      String filePath = "D://input.txt";
      //Instantiating the File class
      File file = new File(filePath);
      //Instantiating the StringBuffer
      StringBuffer buffer = new StringBuffer();
      //instantiating the RandomAccessFile
      RandomAccessFile raFile = new RandomAccessFile(file, "rw");
      //Reading each line using the readLine() method
      while(raFile.getFilePointer() < raFile.length()) {
         buffer.append(raFile.readLine()+System.lineSeparator());
      }
      String contents = buffer.toString();
      System.out.println("Contents of the file: \n"+contents);
   }
}

Ausgabe

Contents of the file:
Tutorials Point originated from the idea that there exists a class of readers who respond better 
to online content and prefer to learn new skills.
Our content and resources are freely available and we prefer to keep it that way to encourage 
our readers acquire as many skills as they would like to.
We don&rsquo;t force our readers to sign up with us or submit their details either.
Enjoy the free content

Das obige ist der detaillierte Inhalt vonWie lese ich eine TXT-Datei mit RandomAccessFile in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen