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.
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); } }
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’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!