Java BufferedReader: Як читати файл у Java з прикладом

Як прочитати файл в 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 ((strCurrentLine = objReader.readLine()) != null) {
    System.out.println(strCurrentLine);
}

strCurrentLine читає поточний рядок і Java Функція readLine objReader.readLine() повертає рядок. Отже, цикл повторюватиметься, доки він не стане нульовим.

BufferПриклад edReader

Нижче код a Java BufferПриклад edReader, який показує повну реалізацію:

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

Примітка:

Наведений вище код має деякі дуже важливі засоби обробки, особливо в блоці finally коду.

Цей код гарантує, що управління пам'яттю виконується ефективно, і викликається метод objReader.close(), який звільняє пам’ять.

BufferПриклад edReader JDK7

Нижче наведено приклад Java Читати файли за допомогою Bufferклас edReader

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