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