Java BufferedReader: Kako čitati datoteku u Java s Primjerom

Kako čitati datoteku u Java?

Java nudi nekoliko mehanizama za čitanje iz datoteke. Najkorisniji paket koji je predviđen za to je java.io.Reader. Ova klasa sadrži klasu Java BufferedReader pod paketom java.io.BufferedReader

Što je BufferedReader u Java?

BufferedReader je Java klasa za čitanje teksta iz ulaznog toka (poput datoteke) pohranjivanjem znakova u međuspremnik koji besprijekorno čita znakove, nizove ili retke. Općenito, svaki zahtjev za čitanje od čitača uzrokuje odgovarajući zahtjev za čitanje temeljnog toka znakova ili bajtova.

Stoga je preporučljivo zamotati BufferedReader u Java oko bilo kojeg Readera čije read() operacije mogu biti skupe, kao što su java FileReaders i InputStreamReaders. Tipična bi uporaba uključivala prosljeđivanje putanje datoteke do BufferedReader u Java kako slijedi:

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

Ovo u osnovi učitava vašu datoteku u objReader. Sada ćete morati iterirati kroz sadržaj datoteke i ispisati je.

The dok petlje u donjem kodu će čitati datoteku dok ne dođe do kraja datoteke

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

strCurrentLine čita trenutnu liniju i Java readLine funkcija objReader.readLine() vraća niz. Dakle, petlja će se ponavljati sve dok ne postane nula.

BufferPrimjer edReader

Donji kod je a Java BufferedReader primjer koji prikazuje kompletnu implementaciju:

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

Bilješka:

Gornji kod ima neke vrlo važne obrade, posebno u finally bloku koda.

Ovaj kod će osigurati da upravljanje memorijom obavlja se učinkovito i poziva se metoda objReader.close() koja oslobađa memoriju.

BufferPrimjer edReader JDK7

Ispod je primjer Java Čitaj datoteke pomoću Bufferrazred 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();
  }
 }
}