Java BufferedReader : Comment lire un fichier dans Java avec exemple

Comment lire un fichier dans Java?

Java fournit plusieurs mécanismes pour lire à partir d'un fichier. Le package le plus utile fourni à cet effet est le java.io.Reader. Cette classe contient la classe Java BufferedReader sous le package java.io.BufferedReader

Qu’est ce qu' BufferedReader dans Java?

BufferedReader est une Java classe qui lit le texte d'un flux d'entrée (comme un fichier) en mettant en mémoire tampon les caractères qui lisent de manière transparente les caractères, les tableaux ou les lignes. En général, chaque demande de lecture effectuée sur un lecteur entraîne une demande de lecture correspondante sur le flux de caractères ou d'octets sous-jacent.

Il est donc conseillé d'envelopper BufferedReader dans Java autour de tout lecteur dont les opérations read() peuvent être coûteuses, comme les FileReaders et les InputStreamReaders Java. Une utilisation typique consisterait à transmettre le chemin du fichier au BufferedReader dans Java comme suit:

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

Cela charge essentiellement votre fichier dans objReader. Maintenant, vous devrez parcourir le contenu du fichier et l'imprimer.

Votre boucle tout en dans le code ci-dessous, il lira le fichier jusqu'à ce qu'il atteigne la fin du fichier

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

strCurrentLine lit la ligne actuelle et le Java La fonction readLine objReader.readLine() renvoie une chaîne. Par conséquent, la boucle va itérer jusqu'à ce qu'elle ne soit pas nulle.

BufferExemple edReader

Le code ci-dessous est un Java BufferExemple edReader qui montre l'implémentation complète :

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

Remarque :

Le code ci-dessus comporte des manipulations très importantes, notamment dans le bloc final du code.

Ce code garantira que le gestion de la mémoire se fait efficacement et la méthode objReader.close() est appelée pour libérer la mémoire.

BufferExemple edReader JDK7

Ci-dessous l'exemple de Java Lire des fichiers en utilisant Bufferclasse edReader

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