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

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *