In diesem Tutorial lernen wir anhand von Beispielen Java BufferedReader und seine Methoden kennen.
Die BufferedReader
Klasse des java.io
Pakets kann mit anderen Lesern verwendet werden, um Daten (in Zeichen) effizienter zu lesen.
Es erweitert die abstrakte Klasse Reader
.
Arbeiten mit BufferedReader
Der BufferedReader
verwaltet einen internen Puffer von 8192 Zeichen .
Während des Lesevorgangs BufferedReader
wird ein Teil der Zeichen von der Festplatte gelesen und im internen Puffer gespeichert. Und aus dem internen Puffer werden Zeichen einzeln gelesen.
Daher wird die Anzahl der Kommunikation mit der Platte reduziert. Aus diesem Grund ist das Lesen von Zeichen schneller BufferedReader
.
Erstellen Sie einen BufferedReader
Um ein zu erstellen BufferedReader
, müssen wir java.io.BuferedReader
zuerst das Paket importieren . Sobald wir das Paket importiert haben, können wir den Reader wie folgt erstellen.
// Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file);
Im obigen Beispiel haben wir einen BufferedReader
benannten Puffer mit der FileReader
benannten Datei erstellt.
Hier hat der interne Puffer von BufferedReader
die Standardgröße von 8192 Zeichen. Wir können jedoch auch die Größe des internen Puffers angeben.
// Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size);
Der Puffer hilft dabei, Zeichen aus den Dateien schneller zu lesen.
Methoden von BufferedReader
Die BufferedReader
Klasse bietet Implementierungen für verschiedene Methoden in Reader
.
read () Methode
read()
- liest ein einzelnes Zeichen aus dem internen Puffer des Lesegerätsread(char() array)
- liest die Zeichen aus dem Reader und speichert sie im angegebenen Arrayread(char() array, int start, int length)
- liest die Anzahl der Zeichen, die der Länge entsprechen, vom Lesegerät und speichert sie ab dem Positionsstart im angegebenen Array
Angenommen, wir haben eine Datei mit dem Namen input.txt mit dem folgenden Inhalt.
This is a line of text inside the file.
Versuchen wir, die Datei mit zu lesen BufferedReader
.
import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Ausgabe
Daten in der Datei: Dies ist eine Textzeile in der Datei.
Im obigen Beispiel haben wir einen gepufferten Reader mit dem Namen input erstellt. Der gepufferte Reader ist mit der Datei input.txt verknüpft .
FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file);
Hier haben wir die read()
Methode verwendet, um ein Array von Zeichen aus dem internen Puffer des gepufferten Lesegeräts zu lesen.
skip () Methode
Um die angegebene Anzahl von Zeichen zu verwerfen und zu überspringen, können wir die skip()
Methode verwenden. Beispielsweise,
import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Ausgabe
Daten nach dem Überspringen von 5 Zeichen: ist eine Textzeile in der Datei.
Im obigen Beispiel haben wir die skip()
Methode verwendet, um 5 Zeichen vom Dateireader zu überspringen. Daher werden die Zeichen 'T'
, 'h'
, 'i'
, 's'
und ' '
werden aus der ursprünglichen Datei übersprungen.
close () Methode
Um den gepufferten Reader zu schließen, können wir die close()
Methode verwenden. Sobald die close()
Methode aufgerufen wurde, können wir den Leser nicht mehr zum Lesen der Daten verwenden.
Andere Methoden von BufferedReader
Methode | Beschreibung |
---|---|
ready() | prüft, ob der Dateireader zum Lesen bereit ist |
mark() | Markieren Sie die Position im Lesegerät, bis zu der Daten gelesen wurden |
reset() | Bringt das Steuerelement an den Punkt im Lesegerät zurück, an dem die Markierung gesetzt wurde |
Weitere Informationen finden Sie unter Java BufferedReader (offizielle Java-Dokumentation).