Ako čítať súbor v Jave?
Java poskytuje niekoľko mechanizmov na čítanie zo súboru. Najužitočnejším balíkom, ktorý je k dispozícii, je java.io.Reader. Táto trieda obsahuje triedu Java BufferedReader v rámci balíka java.io.BufferedReader
Čo je BufferedReader v Jave?
BufferedReader je trieda Java na čítanie textu zo vstupného toku (napríklad zo súboru) pomocou vyrovnávacej pamäte znakov, ktorá bez problémov číta znaky, polia alebo riadky. Všeobecne platí, že každá požiadavka na čítanie vykonaná v aplikácii Reader spôsobí, že sa uskutoční zodpovedajúca požiadavka na čítanie zo základného toku znakov alebo bajtov.
Preto je vhodné zabaliť BufferedReader v Jave okolo každého Readeru, ktorého operácie čítania () môžu byť nákladné, ako sú napríklad Java FileReaders a InputStreamReaders. Typické použitie by zahŕňalo odovzdanie cesty k súboru do BufferedReader v jazyku Java nasledovne:
objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));//Assuming you have a text file in D drive
Týmto sa v zásade načíta váš súbor do objektu objReader. Teraz budete musieť iterovať obsah súboru a vytlačiť ho.
Slučka while v nižšie uvedenom kóde bude súbor načítať, kým nedôjde na koniec súboru
while ((strCurrentLine = objReader.readLine()) != null) {System.out.println(strCurrentLine);}
strCurrentLine načíta aktuálny riadok a funkcia Java readLine objReader.readLine () vráti reťazec. Preto bude slučka iterovať, kým nebude nulová.
BufferedReader Príklad:
Nižšie uvedený kód je príkladom Java BufferedReader, ktorý zobrazuje úplnú implementáciu:
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:
Vyššie uvedený kód má niektoré veľmi dôležité manipulácie, najmä v záverečnom bloku kódu.
Tento kód zabezpečí, že správa pamäte sa bude robiť efektívne a bude sa volať metóda objReader.close (), ktorá pamäť uvoľní.
BufferedReader JDK7 Príklad:
Ďalej je uvedený príklad Java Read Files využívajúcich triedu BufferedReader
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();}}}