Cum se citește un fișier în Java?
Java oferă mai multe mecanisme pentru a citi din fișier. Cel mai util pachet furnizat pentru aceasta este java.io.Reader. Această clasă conține Clasa Java BufferedReader sub pachetul java.io.BufferedReader
Ce este BufferedReader în Java?
BufferedReader este o clasă Java care citește textul dintr-un flux de intrare (ca un fișier) prin tamponarea caracterelor care citește perfect caractere, tablouri sau linii. În general, fiecare cerere de citire făcută dintr-un Reader determină efectuarea unei cereri de citire corespunzătoare a caracterului subiacent sau a fluxului de octeți.
Prin urmare, este recomandabil să înfășurați BufferedReader în Java în jurul oricărui Reader ale cărui operații de citire () pot fi costisitoare, cum ar fi FileReaders Java și InputStreamReaders. O utilizare tipică ar presupune trecerea căii fișierului către BufferedReader în Java după cum urmează:
objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));//Assuming you have a text file in D drive
Acest lucru vă încarcă practic fișierul în objReader. Acum, va trebui să repetați conținutul fișierului și să îl imprimați.
Bucla while din codul de mai jos va citi fișierul până când va ajunge la sfârșitul fișierului
while ((strCurrentLine = objReader.readLine()) != null) {System.out.println(strCurrentLine);}
strCurrentLine citește linia curentă și funcția Java readLine objReader.readLine () returnează un șir. Prin urmare, bucla va itera până când nu este nulă.
Exemplu BufferedReader:
Mai jos este un exemplu Java BufferedReader care arată implementarea completă:
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();}}}}
Notă:
Codul de mai sus are unele tratamente foarte importante, în special în blocul final al codului.
Acest cod va asigura că gestionarea memoriei se face eficient și se numește metoda objReader.close () care eliberează memoria.
BufferedReader JDK7 Exemplu:
Mai jos este exemplul fișierelor Java Read folosind clasa 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();}}}