Kuidas Java-faili lugeda?
Java pakub failist lugemiseks mitmeid mehhanisme. Selleks on kõige kasulikum pakett java.io.Reader. See klass sisaldab klassi Java BufferedReader paketi java.io.BufferedReader all
Mis on Java-s puhverdatud lugeja?
BufferedReader on Java-klass, mis loeb teksti sisendvoost (nagu fail), puhverdades märke, massiive või ridu sujuvalt. Üldiselt põhjustab iga Readeri esitatud lugemisnõue vastava lugemistaotluse aluseks olevast tähemärgist või baidivoogust.
Seetõttu on soovitatav murrab BufferedReader Java-faili ümber mis tahes Readeri, mille lugemis () toimingud võivad olla kulukad, näiteks java FileReaders ja InputStreamReaders. Tüüpiline kasutus hõlmab faili tee edastamist Java puhverdatud lugejale järgmiselt:
objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));//Assuming you have a text file in D drive
See laadib teie faili põhimõtteliselt objReaderi. Nüüd peate faili sisu kordama ja printima.
Allpool oleva koodi while-silmus loeb faili seni, kuni see on jõudnud faili lõppu
while ((strCurrentLine = objReader.readLine()) != null) {System.out.println(strCurrentLine);}
strCurrentLine loeb praegust rida ja Java readLine funktsioon objReader.readLine () tagastab stringi. Seega kordub silmus seni, kuni see pole null.
Puhverdatud lugeja näide:
Koodi all on Java BufferedReaderi näide, mis näitab täielikku juurutamist:
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();}}}}
Märge:
Ülaltoodud koodil on mõned väga olulised käsitsemisviisid, eriti koodi viimases plokis.
See kood tagab mäluhalduse tõhusa toimimise ja kutsutakse meetod objReader.close (), mis vabastab mälu.
BufferedReader JDK7 Näide:
Allpool on näide Java-failidest, mis kasutavad klassi 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();}}}