Jak czytać plik w Javie?
Java udostępnia kilka mechanizmów 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
Co to jest BufferedReader w Javie?
BufferedReader to klasa Java do odczytywania tekstu ze strumienia wejściowego (takiego jak plik) przez buforowanie znaków, które płynnie odczytują znaki, tablice lub wiersze. Ogólnie rzecz biorąc, każde żądanie odczytu wykonane przez czytnik powoduje wykonanie odpowiedniego żądania odczytu z bazowego strumienia znaków lub bajtów.
Dlatego zaleca się zawinięcie BufferedReader w Javie wokół dowolnego czytnika, którego operacje read () mogą być kosztowne, takiego jak java FileReaders i InputStreamReaders. Typowe użycie obejmuje przekazanie ścieżki pliku do BufferedReader w Javie w następujący sposób:
objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));//Assuming you have a text file in D drive
To w zasadzie ładuje twój plik do objReader. Teraz będziesz musiał iterować zawartość pliku i wydrukować go.
Pętla while w poniższym kodzie odczyta plik, dopóki nie osiągnie końca
while ((strCurrentLine = objReader.readLine()) != null) {System.out.println(strCurrentLine);}
strCurrentLine odczytuje bieżący wiersz, a funkcja readLine języka Java objReader.readLine () zwraca ciąg. W związku z tym pętla będzie iterować, dopóki nie będzie zerowa.
Przykład BufferedReader:
Poniższy kod to przykład Java BufferedReader, który pokazuje pełną 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 ma kilka bardzo ważnych procedur obsługi, szczególnie w ostatnim bloku kodu.
Ten kod zapewnia wydajne zarządzanie pamięcią i wywołanie metody objReader.close (), która zwalnia pamięć.
Przykład BufferedReader JDK7:
Poniżej znajduje się przykład Java Read Files przy użyciu klasy BufferedReader
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();}}}