Javac BufferedReader: So lesen Sie Dateien in Java anhand eines Beispiels

Wie lese ich eine Datei in Java?

Java bietet mehrere Mechanismen zum Lesen aus Dateien. Das nützlichste Paket, das hierfür bereitgestellt wird, ist java.io.Reader. Diese Klasse enthält die Klasse Java BufferedReader im Paket java.io.BufferedReader

Was ist BufferedReader in Java?

BufferedReader ist eine Java-Klasse zum Lesen des Textes aus einem Eingabestream (z. B. einer Datei). bufferZeichenverarbeitung, die Zeichen, Arrays oder Zeilen nahtlos liest. Im Allgemeinen führt jede Leseanforderung an einen Reader dazu, dass eine entsprechende Leseanforderung für das zugrunde liegende Zeichen oder den zugrunde liegenden Bytestrom gestellt wird.

Es empfiehlt sich daher das Einwickeln BufferedReader in Java umschließt jeden Reader, dessen read()-Vorgänge kostspielig sein können, wie etwa Java FileReaders und InputStreamReaders. Eine typische Verwendung wäre die Übergabe des Dateipfads an BufferedReader in Java wie folgt:

objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));
//Assuming you have a text file in D drive

Dadurch wird Ihre Datei grundsätzlich in den objReader geladen. Jetzt müssen Sie den Inhalt der Datei durchlaufen und ausdrucken.

Der while-Schleife Im folgenden Code wird die Datei gelesen, bis das Ende der Datei erreicht ist

while ((strCurrentLine = objReader.readLine()) != null) {
    System.out.println(strCurrentLine);
}

strCurrentLine liest die aktuelle Zeile und die Java-readLine-Funktion objReader.readLine() gibt einen String zurück. Daher wird die Schleife wiederholt, bis sie nicht mehr null ist.

BufferedReader-Beispiel

Der folgende Code ist ein Java BufferedReader-Beispiel, das die vollständige Implementierung zeigt:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileExample {

 public static void main(String[] args) {
  BufferedReader objReader = null;
  try {
   String strCurrentLine;

   objReader = new BufferedReader(new FileReader("D:\\DukesDiary.txt"));

   while ((strCurrentLine = objReader.readLine()) != null) {

    System.out.println(strCurrentLine);
   }

  } catch (IOException e) {

   e.printStackTrace();

  } finally {

   try {
    if (objReader != null)
     objReader.close();
   } catch (IOException ex) {
    ex.printStackTrace();
   }
  }
 }
}

Hinweis:

Der obige Code enthält einige sehr wichtige Handhabungen, insbesondere im finalen Block des Codes.

Dieser Code stellt sicher, dass die Speicherverwaltung erfolgt effizient und es wird die Methode objReader.close() aufgerufen, die den Speicher freigibt.

BufferedReader JDK7-Beispiel

Unten finden Sie ein Beispiel für die Verwendung von Java Read Files BufferedReader-Klasse

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileExample_jdk7 {

 private static final String FILENAME = "D:\\DukesDiary.txt";

 public static void main(String[] args) {

  try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) {

   String strCurrentLine;

   while ((strCurrentLine = br.readLine()) != null) {
    System.out.println(strCurrentLine);
   }

  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}