Java BufferedReader: hoe u een bestand kunt inlezen Java met Voorbeeld

Hoe een bestand in te lezen Java?

Java biedt verschillende mechanismen om te lezen uit File. Het meest bruikbare pakket dat hiervoor wordt geboden is de java.io.Reader. Deze klasse bevat de Class Java BufferedReader onder pakket java.io.BufferedReader

Wat is BufferedReader in Java?

BufferedReader is een Java klasse om de tekst van een invoerstroom (zoals een bestand) te lezen door tekens te bufferen die naadloos tekens, arrays of regels lezen. Over het algemeen zorgt elk leesverzoek van een lezer ervoor dat een overeenkomstig 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 zou het doorgeven van het bestandspad naar de 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.

De 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 functie readLine 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 vindt u het voorbeeld van Java Bestanden lezen met 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();
  }
 }
}