Java BufferedReader: Jak číst soubor v Java s příkladem

Jak číst soubor v Java?

Java poskytuje několik mechanismů pro čtení ze souboru. Nejužitečnějším balíčkem, který je k tomu poskytnut, je java.io.Reader. Tato třída obsahuje třídu Java BufferedReader v rámci balíčku java.io.BufferedReader

Co je to BufferedReader v Java?

BufferedReader je Java class to čte text ze vstupního proudu (jako soubor) ukládáním znaků do vyrovnávací paměti, které bezproblémově čte znaky, pole nebo řádky. Obecně platí, že každý požadavek na čtení provedený čtečkou způsobí, že bude vzat odpovídající požadavek na čtení ze základního znakového nebo bytového toku.

Je proto vhodné zabalit BufferedReader v Java kolem jakékoli čtečky, jejíž operace read() mohou být nákladné, jako jsou java FileReaders a InputStreamReaders. Typické použití by zahrnovalo předání cesty k souboru BufferedReader v Java následujícím způsobem:

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

To v podstatě načte váš soubor do objReader. Nyní budete muset iterovat obsah souboru a vytisknout jej.

Jedno zatímco smyčka v níže uvedeném kódu bude číst soubor, dokud nedosáhne konce souboru

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

strCurrentLine čte aktuální řádek a Java Funkce readLine objReader.readLine() vrací řetězec. Smyčka se tedy bude opakovat, dokud nebude nulová.

BufferPříklad edReaderu

Níže uvedený kód je a Java BufferPříklad edReaderu, který ukazuje kompletní implementaci:

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

Poznámka:

Výše uvedený kód má některé velmi důležité manipulace, zejména v posledním bloku kódu.

Tento kód zajistí, že správy paměti se provádí efektivně a je volána metoda objReader.close(), která uvolní paměť.

BufferPříklad edReader JDK7

Níže je uveden příklad Java Číst soubory pomocí Buffertřída 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();
  }
 }
}

Shrňte tento příspěvek takto: