Java BufferedReader: Hogyan olvassunk be fájlt Java példával

Hogyan lehet beolvasni egy fájlt Java?

Java számos mechanizmust biztosít a fájlból való olvasáshoz. A leghasznosabb csomag, amit ehhez biztosítunk, a java.io.Reader. Ez az osztály tartalmazza az Osztályt Java BufferedReader a java.io csomag alatt.BufferedReader

Mi a BufferedReader be Java?

BufferedReader egy olyan Java osztály beolvassa a szöveget egy beviteli adatfolyamból (például egy fájlból) a karakterek pufferelésével, amely zökkenőmentesen olvassa be a karaktereket, tömböket vagy sorokat. Általánosságban elmondható, hogy az olvasó minden egyes olvasási kérelme egy megfelelő olvasási kérést eredményez az alapul szolgáló karakter- vagy bájtfolyamhoz.

Ezért célszerű becsomagolni BufferedReader be Java minden olyan Reader körül, amelynek read() műveletei költségesek lehetnek, mint például a java FileReaders és InputStreamReaders. Egy tipikus használat magában foglalja a fájl elérési útjának átadását a BufferedReader be Java az alábbiak szerint:

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

Ez alapvetően betölti a fájlt az objReaderbe. Most ismét végig kell néznie a fájl tartalmát, és ki kell nyomtatnia.

A míg hurok az alábbi kódban addig olvassa a fájlt, amíg el nem éri a fájl végét

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

Az strCurrentLine beolvassa az aktuális sort és a Java readLine függvény objReader.readLine() egy karakterláncot ad vissza. Ezért a ciklus addig ismétlődik, amíg nulla nem lesz.

BufferedReader példa

Az alábbi kód a Java BufferedReader példa, amely bemutatja a teljes megvalósítást:

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

Jegyzet:

A fenti kódnak van néhány nagyon fontos kezelése, különösen a kód utolsó blokkjában.

Ez a kód biztosítja, hogy a memóriakezelés hatékonyan történik, és meghívják az objReader.close() metódust, amely felszabadítja a memóriát.

BufferedReader JDK7 példa

Alább látható a példa Java Fájlok olvasása a használatával BufferedReader osztály

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