Java BufferedReader: Bestanden lezen in Java met voorbeeld

Hoe lees ik een bestand in Java?

Java biedt verschillende mechanismen om uit Bestand te lezen. Het handigste pakket dat hiervoor wordt aangeboden is 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 buffertekens die naadloos tekens, arrays of regels lezen. In het algemeen zorgt elk leesverzoek van een Reader ervoor dat een corresponderend leesverzoek wordt gedaan van de onderliggende teken- of bytestroom.

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

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

Dit laadt feitelijk uw bestand in de objReader. Nu moet u de inhoud van het bestand doorlopen en afdrukken.

Het herhalingslus in de onderstaande code wordt het bestand gelezen 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() retourneert een tekenreeks. Daarom zal de lus herhalen totdat deze niet nul is.

BufferedReader-voorbeeld

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

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

Opmerking:

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

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

BufferedReader JDK7 Voorbeeld

Hieronder ziet u een voorbeeld van het gebruik van Java Read Files BufferedReader-klasse

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