Як читати файл на Java?
Java пропонує кілька механізмів для читання з файлу. Найкорисніший пакет, який для цього надається, - це java.io.Reader. Цей клас містить клас Java BufferedReader під пакетом java.io.BufferedReader
Що таке BufferedReader в Java?
BufferedReader - це клас Java для читання тексту з вхідного потоку (як файл) шляхом буферизації символів, які легко читають символи, масиви або рядки. Взагалі, кожен запит на читання, зроблений Reader, спричинює відповідний запит на читання базового символу або байтового потоку.
Тому доцільно обернути BufferedReader в Java будь-яким Reader, чиї операції read () можуть бути дорогими, наприклад, java FileReaders та InputStreamReaders. Типове використання включає передачу шляху до файлу BufferedReader в Java наступним чином:
objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));//Assuming you have a text file in D drive
Це в основному завантажує ваш файл в objReader. Тепер вам потрібно буде переглядати вміст файлу та друкувати його.
Цикл while у наведеному нижче коді буде читати файл, поки він не дійде до кінця файлу
while ((strCurrentLine = objReader.readLine()) != null) {System.out.println(strCurrentLine);}
strCurrentLine читає поточний рядок, а функція Java readLine objReader.readLine () повертає рядок. Отже, цикл буде повторюватись, поки не буде нульовим.
Приклад BufferedReader:
Нижче наведено приклад Java BufferedReader, який показує повну реалізацію:
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();}}}}
Примітка:
У наведеному вище коді є дуже важливі обробки, особливо в остаточному блоці коду.
Цей код гарантує, що управління пам’яттю виконується ефективно і викликається метод objReader.close (), який звільняє пам’ять.
Приклад BufferedReader JDK7:
Нижче наведено приклад файлів читання Java із використанням класу 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();}}}