Java BufferedReader: Hur man läser filen i Java med exempel

Innehållsförteckning:

Anonim

Hur läser jag en fil i Java?

Java erbjuder flera mekanismer att läsa från fil. Det mest användbara paketet som tillhandahålls för detta är java.io.Reader. Den här klassen innehåller Class Java BufferedReader under paketet java.io.BufferedReader

Vad är BufferedReader i Java?

BufferedReader är en Java-klass för att läsa texten från en inmatningsström (som en fil) genom att buffra tecken som sömlöst läser tecken, matriser eller rader. I allmänhet orsakar varje läsförfrågan från en läsare att en motsvarande läsförfrågan görs av den underliggande karaktären eller byteflödet.

Det är därför tillrådligt att slå BufferedReader i Java runt alla läsare vars läs () -operationer kan vara kostsamma, till exempel java FileReaders och InputStreamReaders. En typisk användning skulle innebära att filvägen skickas till BufferedReader i Java enligt följande:

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

Detta laddar i grund och botten din fil i objReader.Nu måste du iterera genom innehållet i filen och skriva ut den.

While-slingan i koden nedan läser filen tills den har nått slutet av filen

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

strCurrentLine läser den aktuella raden och Java readLine-funktionen objReader.readLine () returnerar en sträng. Därför kommer slingan att iterera tills den inte är noll.

Buffertläsarexempel:

Nedanstående kod är ett Java BufferedReader-exempel som visar fullständig implementering:

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

Notera:

Ovanstående kod har några mycket viktiga hanteringar, särskilt i det slutliga blocket av koden.

Den här koden säkerställer att minneshanteringen görs effektivt och metoden objReader.close () anropas som frigör minnet.

BufferedReader JDK7 Exempel:

Nedan följer exemplet med Java-läsfiler som använder buffertklassen

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