Lire un fichier ligne par ligne en Java
Dans ce tutoriel nous allons découvrir comment lire un fichier texte ligne par ligne en Java. Il existe deux façons de lire un fichier ligne par ligne.
- Classe BufferedReader
- Classe Scanner
En utilisant la classe BufferedReader
L’utilisation de la classe Java BufferedRedaer est la manière la plus courante et la plus simple de lire un fichier ligne par ligne en Java. Il appartient au package java.io. La classe Java BufferedReader fournit la méthode readLine() pour lire un fichier ligne par ligne.
Exemple:
import java.io.*; public class Main { public static void main(String args[]) { try { // Le fichier d'entrée File file = new File("file.txt"); // Créer l'objet File Reader FileReader fr = new FileReader(file); // Créer l'objet BufferedReader BufferedReader br = new BufferedReader(fr); StringBuffer sb = new StringBuffer(); String line; while((line = br.readLine()) != null) { // ajoute la ligne au buffer sb.append(line); sb.append("\n"); } fr.close(); System.out.println("Contenu du fichier: "); System.out.println(sb.toString()); } catch(IOException e) { e.printStackTrace(); } } }
Sortie:
Contenu du fichier: I am learning Java Lorem ipsum WaytolearnX
En utilisant la classe Scanner
La classe Scanner fournit plus de méthodes que la classe BufferedReader. La classe Scanner fournit la méthode nextLine() pour lire le contenu du fichier ligne par ligne. La méthode nextLine() renvoie la même chaîne que la méthode readLine(). La classe Scanner peut également lire un fichier InputStream.
Exemple:
import java.io.*; import java.util.Scanner; public class Main { public static void main(String args[]) { try { // Le fichier d'entrée FileInputStream file = new FileInputStream("file.txt"); Scanner scanner = new Scanner(file); //renvoie true s'il y a une autre ligne à lire while(scanner.hasNextLine()) { System.out.println(scanner.nextLine()); } scanner.close(); } catch(IOException e) { e.printStackTrace(); } } }
Sortie:
Contenu du fichier: I am learning Java Lorem ipsum WaytolearnX