Java BufferedReader: Jak czytać plik w Java z Przykładem

Jak odczytać plik w Java?

Java zapewnia kilka mechanizmów do odczytu z pliku. Najbardziej użytecznym pakietem, który jest do tego przeznaczony, jest java.io.Reader. Ta klasa zawiera klasę Java BufferedReader w pakiecie java.io.BufferedReader

Czym jest BufferedReader w Java?

BufferedReader jest Java klasa do odczytu tekstu ze strumienia wejściowego (takiego jak plik) poprzez buforowanie znaków, które płynnie odczytuje znaki, tablice lub linie. Zasadniczo każde żądanie odczytu wykonane z Czytelnika powoduje wykonanie odpowiadającego mu żądania odczytu z podstawowego strumienia znaków lub bajtów.

Dlatego zaleca się owinięcie BufferedReader w Java wokół dowolnego Readera, którego operacje read() mogą być kosztowne, takie jak java FileReaders i InputStreamReaders. Typowe użycie obejmowałoby przekazanie ścieżki pliku do BufferedReader w Java w sposób następujący:

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

Zasadniczo ładuje to plik do objReadera. Teraz będziesz musiał przejrzeć zawartość pliku i wydrukować go.

pętla while w poniższym kodzie będzie czytać plik, aż dotrze do końca pliku

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

strCurrentLine odczytuje bieżącą linię i Java Funkcja readLine objReader.readLine() zwraca ciąg znaków. W związku z tym pętla będzie iterować, dopóki nie osiągnie wartości null.

BufferPrzykład edReadera

Poniżej znajduje się kod Java BufferPrzykład edReadera pokazujący kompletną implementację:

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();
   }
  }
 }
}

Uwaga:

Powyższy kod zawiera kilka bardzo ważnych operacji, szczególnie w ostatnim bloku kodu.

Ten kod zapewni, że zarządzanie pamięcią odbywa się wydajnie i wywoływana jest metoda objReader.close(), która zwalnia pamięć.

BufferPrzykład edReadera JDK7

Poniżej znajduje się przykład Java Czytaj pliki za pomocą Bufferklasa edReadera

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();
  }
 }
}