Java BufferedReader: So lesen Sie Dateien in Java mit Beispiel
So lesen Sie 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 Eingabestrom (z. B. einer Datei) durch Pufferung von Zeichen, die nahtlos Zeichen, Arrays oder Zeilen lesen. Im Allgemeinen bewirkt jede Leseanforderung an einen Reader eine entsprechende Leseanforderung an den zugrunde liegenden Zeichen- oder Bytestrom.
Es empfiehlt sich daher das Einwickeln BufferedReader in Java um jeden Reader, dessen read()-Operationen kostspielig sein können, wie etwa Java FileReader und InputStreamReader. Eine typische Verwendung wäre die Übergabe des Dateipfads an den 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.
Das 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 Die readLine-Funktion objReader.readLine() gibt einen String zurück. Daher wird die Schleife so lange 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 sehen Sie ein Beispiel für Java Lesen von Dateien mit 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(); } } }