Comment lire un fichier en Java?
Java fournit plusieurs mécanismes pour lire à partir d'un fichier. Le package le plus utile fourni pour cela est le java.io.Reader. Cette classe contient la classe Java BufferedReader sous le package java.io.BufferedReader
Qu'est-ce que BufferedReader en Java?
BufferedReader est une classe Java qui lit le texte d'un flux d'entrée (comme un fichier) en mettant en mémoire tampon des caractères qui lisent de manière transparente des caractères, des tableaux ou des lignes. En général, chaque demande de lecture effectuée sur un lecteur entraîne une demande de lecture correspondante du caractère ou du flux d'octets sous-jacent.
Il est donc conseillé d'envelopper BufferedReader en Java autour de tout Reader dont les opérations read () peuvent être coûteuses, comme java FileReaders et InputStreamReaders. Une utilisation typique impliquerait de transmettre le chemin du fichier au BufferedReader en 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.
La boucle while dans le code ci-dessous lira le fichier jusqu'à ce qu'il ait atteint la fin du fichier
while ((strCurrentLine = objReader.readLine()) != null) {System.out.println(strCurrentLine);}
strCurrentLine lit la ligne courante et la fonction Java readLine objReader.readLine () renvoie une chaîne. Par conséquent, la boucle va itérer jusqu'à ce qu'elle ne soit pas nulle.
Exemple de BufferedReader:
Le code ci-dessous est un exemple Java BufferedReader 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();}}}}
Noter:
Le code ci-dessus a des manipulations très importantes, en particulier dans le bloc finally du code.
Ce code garantira que la gestion de la mémoire est effectuée efficacement et que la méthode objReader.close () est appelée pour libérer la mémoire.
Exemple de BufferedReader JDK7:
Voici l'exemple de fichiers de lecture Java utilisant la classe 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();}}}