Java BufferedReader: Hvordan lese fil i Java med eksempel

Hvordan lese en fil i Java?

Java gir flere mekanismer for å lese fra fil. Den mest nyttige pakken som er gitt for dette er java.io.Reader. Denne klassen inneholder klassen Java BufferedReader under pakken java.io.BufferedReader

Hva er BufferedReader i Java?

BufferedReader er en Java klasse for å lese teksten fra en inngangsstrøm (som en fil) ved å bufre tegn som sømløst leser tegn, matriser eller linjer. Vanligvis forårsaker hver leseforespørsel gjort av en Reader en tilsvarende leseforespørsel av det underliggende tegnet eller bytestrømmen.

Det er derfor lurt å pakke inn BufferedReader i Java rundt en hvilken som helst Reader hvis read()-operasjoner kan være kostbare, for eksempel java FileReaders og InputStreamReaders. En typisk bruk vil innebære å sende filbanen 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 laster i utgangspunktet filen din i objReader. Nå må du iterere gjennom innholdet i filen og skrive den ut.

Ocuco mens løkken koden nedenfor vil lese filen til den har nådd slutten av filen

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

strCurrentLine leser gjeldende linje og Java readLine-funksjonen objReader.readLine() returnerer en streng. Derfor vil løkken iterere til den ikke er null.

BufferEksempel på edReader

Nedenfor er koden en Java BufferedReader eksempel som viser den komplette implementeringen:

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

OBS:

Koden ovenfor har noen svært viktige håndteringer, spesielt i den endelige blokken av koden.

Denne koden vil sikre at Minnehåndtering gjøres effektivt og objReader.close() metoden kalles som frigjør minnet.

BufferEksempel på edReader JDK7

Nedenfor er eksemplet på Java Les filer ved hjelp av BufferedReader-klassen

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

Oppsummer dette innlegget med: