Java BufferedReader: hoe u een bestand in Java kunt lezen met een voorbeeld

Inhoudsopgave:

Anonim

Hoe lees ik een bestand in Java?

Java biedt verschillende mechanismen om uit Bestand te lezen. Het handigste pakket dat hiervoor wordt geleverd, is de java.io.Reader. Deze klasse bevat de klasse Java BufferedReader onder pakket java.io.BufferedReader

Wat is BufferedReader in Java?

BufferedReader is een Java-klasse om de tekst uit een invoerstroom (zoals een bestand) te lezen door tekens te bufferen die naadloos tekens, arrays of regels leest. In het algemeen zorgt elk leesverzoek van een Reader ervoor dat een corresponderend leesverzoek wordt gedaan van het onderliggende teken of bytestroom.

Het is daarom raadzaam om BufferedReader in Java om elke Reader te wikkelen waarvan de read () -bewerkingen duur kunnen zijn, zoals java FileReaders en InputStreamReaders. Een typisch gebruik houdt in dat het bestandspad als volgt aan de BufferedReader in Java wordt doorgegeven:

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

Dit laadt in feite je bestand in de objReader. Nu zul je de inhoud van het bestand moeten doorlopen en het moeten afdrukken.

De while-lus in de onderstaande code leest het bestand totdat het het einde van het bestand heeft bereikt

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

strCurrentLine leest de huidige regel en de Java readLine-functie objReader.readLine () geeft een string terug. Daarom zal de lus herhalen totdat deze niet nul is.

BufferedReader Voorbeeld:

Onderstaande code is een Java BufferedReader-voorbeeld dat de volledige implementatie laat zien:

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

Notitie:

De bovenstaande code heeft een aantal zeer belangrijke handelingen, vooral in het laatste blok van de code.

Deze code zorgt ervoor dat het geheugenbeheer efficiënt wordt uitgevoerd en de methode objReader.close () wordt aangeroepen die het geheugen vrijgeeft.

BufferedReader JDK7 Voorbeeld:

Hieronder ziet u het voorbeeld van Java Read Files met de klasse 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();}}}