Il existe les méthodes suivantes pour lire un fichier ligne par ligne.
- Classe BufferedReader
- Classe de scanner
Utilisation de la classe BufferedReader
L'utilisation de la classe Java BufferedRedaer est le moyen le plus courant et le plus simple de lire un fichier ligne par ligne en Java. Il appartient à java.io emballer. La classe Java BufferedReader fournit la méthode readLine() pour lire un fichier ligne par ligne. La signature de la méthode est :
je sais
public String readLine() throws IOException
La méthode lit une ligne de texte. Il renvoie une chaîne contenant le contenu de la ligne. La ligne doit se terminer par un saut de ligne (' ') ou un retour chariot (' ').
Exemple de lecture d'un fichier ligne par ligne à l'aide de la classe BufferedReader
Dans l'exemple suivant, Demo.txt est lu par la classe FileReader. La méthode readLine() de la classe BufferedReader lit le fichier ligne par ligne et chaque ligne ajoutée à StringBuffer, suivie d'un saut de ligne. Le contenu du StringBuffer est ensuite affiché sur la console.
import java.io.*; public class ReadLineByLineExample1 { public static void main(String args[]) { try { File file=new File('Demo.txt'); //creates a new file instance FileReader fr=new FileReader(file); //reads the file BufferedReader br=new BufferedReader(fr); //creates a buffering character input stream StringBuffer sb=new StringBuffer(); //constructs a string buffer with no characters String line; while((line=br.readLine())!=null) { sb.append(line); //appends line to string buffer sb.append(' '); //line feed } fr.close(); //closes the stream and release the resources System.out.println('Contents of File: '); System.out.println(sb.toString()); //returns a string that textually represents the object } catch(IOException e) { e.printStackTrace(); } } }
Sortir:
Utiliser la classe Scanner
Java Scanner La classe fournit plus de méthodes utilitaires que la classe BufferedReader. La classe Java Scanner fournit la méthode nextLine() pour faciliter ligne par ligne le contenu du fichier. Les méthodes nextLine() renvoient la même chaîne que la méthode readLine(). La classe Scanner peut également lire un fichier sous forme d'InputStream.
Exemple de lecture d'un fichier ligne par ligne à l'aide de la classe Scanner
héritage en C++
import java.io.*; import java.util.Scanner; public class ReadLineByLineExample2 { public static void main(String args[]) { try { //the file to be opened for reading FileInputStream fis=new FileInputStream('Demo.txt'); Scanner sc=new Scanner(fis); //file to be scanned //returns true if there is another line to read while(sc.hasNextLine()) { System.out.println(sc.nextLine()); //returns the line that was skipped } sc.close(); //closes the scanner } catch(IOException e) { e.printStackTrace(); } } }
Sortir: