English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grundlegende Anleitung

Java Flusskontrolle

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map-Kollektion

Java Set-Kollektion

Java Input/Output (I/O)/O)

Java Reader/Writer

Andere Themen von Java

Java BufferedReader-Klasse

In diesem Tutorial lernen wir durch Beispiele Java BufferedReader und seine Methoden kennen.

Der BufferedReader-Klasse in java.io-Paket kann mit anderen Lesern zusammen verwendet werden, um Daten effizienter zu lesen (in Form von Zeichen).

Es hat die abstrakte Klasse Reader geerbt.

Funktionsweise von BufferedReader

BufferedReader unterhält einen internenvon8192Zeichenpuffer

Während des Lesevorgangs im BufferedReader werden einige Zeichen von der Festplatte gelesen und im internen Puffer gespeichert. Und Zeichen werden einzeln aus dem internen Puffer gelesen.

Dadurch wird die Anzahl der Kommunikationen mit der Festplatte reduziert. Dies ist der Grund, warum das Lesen von Zeichen mit BufferedReader schneller geht.

Erstellen Sie einen BufferedReader

Um einen BufferedReader zu erstellen, müssen wir zunächst das Paket java.io.BufferedReader importieren. Nach dem Importieren des Pakets können Sie den Leser erstellen.

//Erstellen Sie einen FileReader
FileReader file = new FileReader(String file);
//Erstellen Sie einen BufferedReader
BufferedReader buffer = new BufferedReader(file);

In diesem Beispiel haben wir einen namens "buffer"en BufferedReader und einen namens "file"en FileReader erstellt.

Hier ist die Standardgröße des internen Puffers von BufferedReader8192Zeichen. Aber wir können auch die Größe des internen Puffers angeben.

//Erstellen Sie einen BufferedReader mit einer angegebenen Größe des internen Puffers
BufferedReader buffer = new BufferedReader(file, int size);

Der Puffer hilft dabei, schneller aus der Datei zu lesen.

Methoden der BufferedReader

Die BufferedReader-Klasse bietet Implementierungen für verschiedene Methoden in Reader.

read() Methode

  • read() - Lesen Sie ein einzelnes Zeichen aus dem internen Puffer des Lesers

  • read(char[] array) - Lesen Sie Zeichen aus dem Leser und speichern Sie sie im angegebenen Array

  • read(char[] array, int start, int length)- Lesen Sie eine Anzahl von Zeichen gleich der Länge aus dem Leser und speichern Sie sie ab dem Startposition in dem angegebenen Array

Zum Beispiel,angenommen, wir haben eine Datei namensinput.txtDatei, die den folgenden Inhalt enthält.

Dies ist eine Zeile Text innerhalb der Datei.

Lassen Sie uns versuchen, die Datei mit BufferedReader zu lesen.

import java.io.FileReader;
import java.io.BufferedReader;
class Main {
  public static void main(String[] args) {
    //Erstellen Sie ein Zeichendarstellung
    char[] array = new char[100];
    try {
      //Erstellen Sie einen FileReader
      FileReader file = new FileReader("input.txt");
      //Erstellen Sie einen BufferedReader
      BufferedReader input = new BufferedReader(file);
      //Lesen von Zeichen
      input.read(array);
      System.out.println("Daten in der Datei: ");
      System.out.println(array);
      //Leser schließen
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Ausgaberesultat

Daten in der Datei:
Dies ist eine Zeile Text innerhalb der Datei.

In dem obigen Beispiel haben wir einen namens input-bufferedReader erstellt. Der Pufferleser ist mitinput.txtDateiverknüpfung.

FileReader file = new FileReader("input.txt");
BufferedReader input = new BufferedReader(file);

Hier verwenden wir die Methode read(), um ein Zeichenarray aus dem internen Puffer des Pufferspeichers zu lesen.

skip() Methode

Um eine bestimmte Anzahl von Zeichen zu überspringen und zu ignorieren, können Sie die Methode skip() verwenden. Zum Beispiel

import java.io.FileReader;
import java.io.BufferedReader;
public class Main {
  public static void main(String args[]) {
    //Erstellen Sie ein Zeichendarstellung
    char[] array = new char[100];
    try {
      //Angenommen, die Datei input.txt enthält den folgenden Text
      //Dies ist eine Zeile Text innerhalb der Datei.
      FileReader file = new FileReader("input.txt");
      //Erstellen Sie einen BufferedReader
      BufferedReader input = new BufferedReader(file);
      //Überspringen5Zeichen
      input.skip(5);
      //Lesen von Zeichen
      input.read(array);
      System.out.println("Überspringen}}5Zeichen hinter den Daten:");
      System.out.println(array);
      //Leser schließen
      input.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Ausgaberesultat

Überspringen5Zeichen hinter den Daten:
ist ein Zeilentext innerhalb der Datei.

Im obigen Beispiel haben wir die skip()-Methode verwendet, um aus dem Dateileser zu lesen5Zeichen. Daher werden die Zeichen 'T', 'h', 'i', 's' und ' ' aus dem ursprünglichen Datei übersprungen.

close() Methode

Um einen Leser zu schließen, können wir den close()-Methodenaufruf verwenden. Nach dem Aufruf von close() können wir den Leser nicht mehr zum Lesen von Daten verwenden.

Andere Methoden von BufferedReader

MethodeBeschreibung
ready()Überprüfen Sie, ob der Dateileser bereit ist, zu lesen
mark()Position des gelesenen Datenstandorts im Markierungsleser
reset()Markierung zurücksetzen, zum Lesepunkt zurückkehren, der im Leser gesetzt wurde