Java BufferedReader-Klasse
Java BufferedReader-Klasse
In diesem Tutorial lernen wir Java BufferedReader und seine Methoden anhand von Beispielen kennen.
Der BufferedReader
Klasse der java.io
Paket kann mit anderen Lesegeräten verwendet werden, um Daten (in Zeichen) effizienter zu lesen.
Es erweitert die abstrakte Klasse Reader
.
" "
Arbeitsweise von BufferedReader
Die BufferedReader
verwaltet einen internen Puffer von 8192 Zeichen .
Während des Lesevorgangs in BufferedReader
, wird ein Teil der Zeichen von der Festplatte gelesen und im internen Puffer gespeichert. Und aus dem internen Puffer werden die Zeichen einzeln gelesen.
Daher wird die Anzahl der Kommunikationen mit der Platte reduziert. Aus diesem Grund ist das Lesen von Zeichen mit BufferedReader
schneller .
Erstellen Sie einen BufferedReader
Um einen BufferedReader
zu erstellen , müssen wir den java.io.BuferedReader
importieren Paket zuerst. Sobald wir das Paket importiert haben, können wir den Reader folgendermaßen 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
erstellt mit dem Namen Puffer mit dem FileReader
namens Datei .
Hier der interne Puffer des BufferedReader
hat 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, Zeichen schneller aus den Dateien zu lesen.
Methoden von BufferedReader
Die BufferedReader
-Klasse stellt Implementierungen für verschiedene Methoden bereit, die in Reader
vorhanden sind .
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 gleich length vom Lesegerät und speichert in dem angegebenen Array ab der Position start
Angenommen, wir haben eine Datei mit dem Namen input.txt mit folgendem Inhalt.
This is a line of text inside the file.
Versuchen wir, die Datei mit BufferedReader
zu lesen .
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
Data in the file: This is a line of text inside the file.
Im obigen Beispiel haben wir einen gepufferten Reader namens input erstellt . Der gepufferte Reader wird mit der input.txt verknüpft Datei.
FileReader file = new FileReader("input.txt");
BufferedReader input = new BufferedReader(file);
Hier haben wir den read()
verwendet Methode zum Lesen eines Arrays von Zeichen aus dem internen Puffer des gepufferten Readers.
skip()-Methode
Um die angegebene Anzahl von Zeichen zu verwerfen und zu überspringen, können wir den skip()
verwenden Methode. Zum Beispiel
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
Data after skipping 5 characters: is a line of text inside the file.
Im obigen Beispiel haben wir den skip()
verwendet Methode zum Überspringen von 5 Zeichen aus dem Dateireader. Daher die Zeichen 'T'
, 'h'
, 'i'
, 's'
und ' '
werden von der Originaldatei übersprungen.
close()-Methode
Um den gepufferten Reader zu schließen, können wir den close()
verwenden Methode. Einmal die close()
-Methode aufgerufen wird, können wir den Reader nicht zum Lesen der Daten verwenden.
Andere Methoden von BufferedReader
Methode | Beschreibung |
---|---|
ready() | überprüft, ob der Dateireader zum Lesen bereit ist |
mark() | Position im Lesegerät markieren, bis zu der Daten gelesen wurden |
reset() | gibt das Steuerelement an die Stelle im Reader zurück, an der die Markierung gesetzt wurde |
Um mehr zu erfahren, besuchen Sie Java BufferedReader (offizielle Java-Dokumentation).
Java