Comment lire un fichier en Java avec BufferedReader
Java fournit plusieurs mécanismes pour lire le contenu d’un fichier. Le package java.io.* contient la classe BufferedReader qui permet de lire le contenu d’un fichier.
Qu’est-ce qu’un BufferedReader en Java?
BufferedReader est une classe Java permettant de lire le texte d’un flux d’entrée (comme un fichier) en mettant sur le buffer de façon transparente des caractères, des tableaux, etc.
En général, chaque demande de lecture entraîne la création d’une demande de lecture correspondante du caractère sous-jacent ou du flux d’octets.
Une utilisation typique impliquerait de transmettre le chemin du fichier au BufferedReader comme suit:
reader = new BufferedReader(new FileReader("C:\test.txt"));
Cela charge votre fichier dans l’objet « reader ». Après cette ligne, vous devrez parcourir le contenu du fichier et l’afficher.
La boucle while du code ci-dessous va lire le fichier jusqu’à la fin du fichier.
while ((strCurrentLine = bufferedreader.readLine()) != null) { System.out.println(strCurrentLine); }
reader.readLine()
renvoie une chaîne de caractère. Ensuite, la boucle itérera jusqu’à ce qu’elle ne soit plus nulle.
Exemple de BufferedReader:
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class BufferedReaderExemple { private static final String FILENAME = "C:\\test\\test.txt"; public static void main(String[] args) { BufferedReader bufferedreader = null; FileReader filereader = null; try { filereader = new FileReader(FILENAME); bufferedreader = new BufferedReader(filereader); String strCurrentLine; while ((strCurrentLine = bufferedreader.readLine()) != null) { System.out.println(strCurrentLine); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (bufferedreader != null) bufferedreader.close(); if (filereader != null) filereader.close(); } catch (IOException e) { e.printStackTrace(); } } } }
Exemple de BufferedReader sur JDK7:
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class BufferedReaderExemple { private static final String FILENAME = "C:\\test\\test.txt"; public static void main(String[] args) { try (BufferedReader bufferedreader = new BufferedReader(new FileReader(FILENAME))) { String strCurrentLine; while ((strCurrentLine = bufferedreader.readLine()) != null) { System.out.println(strCurrentLine); } } catch (IOException ioe) { ioe.printStackTrace(); } } }