Java BufferedReader: Sådan læser du fil i Java med eksempel

Hvordan læser man en fil i Java?

Java giver flere mekanismer til at læse fra fil. Den mest nyttige pakke, der leveres til dette, er java.io.Reader. Denne klasse indeholder klassen Java BufferedReader under pakken java.io.BufferedReader

Hvad er BufferedReader i Java?

BufferedReader er en Java-klasse til at læse teksten fra en inputstrøm (som en fil) af buffertegn, der problemfrit læser tegn, arrays eller linjer. Generelt bevirker hver læseanmodning lavet af en Reader en tilsvarende læseanmodning til at blive lavet af det underliggende tegn eller bytestrøm.

Det er derfor tilrådeligt at pakke ind BufferedReader i Java omkring enhver Reader, hvis read() operationer kan være dyre, såsom java FileReaders og InputStreamReaders. En typisk brug ville involvere at overføre filstien til BufferedReader i Java som følger:

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

Dette indlæser dybest set din fil i objReader. Nu skal du gentage indholdet af filen og udskrive den.

mens løkke i nedenstående kode vil læse filen, indtil den har nået slutningen af ​​filen

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

strCurrentLine læser den aktuelle linje, og Java readLine-funktionen objReader.readLine() returnerer en streng. Derfor vil løkken iterere, indtil den ikke er nul.

BufferEksempel på edReader

Nedenstående kode er en Java BufferedReader eksempel som viser den komplette implementering:

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

Bemærk:

Ovenstående kode har nogle meget vigtige håndteringer, især i den endelige blok af koden.

Denne kode vil sikre, at hukommelsesstyring udføres effektivt, og metoden objReader.close() kaldes, der frigiver hukommelsen.

BufferEksempel på edReader JDK7

Nedenfor er et eksempel på Java Read Files, der bruger BufferedReader klasse

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