Introduction
Dans cet article, vous apprendrez différentes façons d’utiliser Java pour lire le contenu d’un fichier ligne par ligne. Cet article utilise des méthodes des classes Java suivantes : java.io.BufferedReader
, java.util.Scanner
, Files.readAllLines()
et java.io.RandomAccessFile
.
Lecture d’un fichier ligne par ligne à l’aide de BufferedReader
Vous pouvez utiliser la méthode readLine()
de java.io.BufferedReader
pour lire un fichier ligne par ligne en String. Cette méthode renvoie null
lorsque la fin du fichier est atteinte.
Voici un exemple de programme pour lire un fichier ligne par ligne avec BufferedReader
:
package com.journaldev.readfileslinebyline;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLineUsingBufferedReader {
public static void main(String[] args) {
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader("sample.txt"));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
// lire la ligne suivante
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Poursuivez votre apprentissage avec le BufferedReader
API Doc (Java SE 8).
Lecture d’un fichier ligne par ligne en utilisant Scanner
Vous pouvez utiliser la classe Scanner
pour ouvrir un fichier et ensuite lire son contenu ligne par ligne.
Voici un exemple de programme pour lire un fichier ligne par ligne avec Scanner
:
package com.journaldev.readfileslinebyline;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileLineByLineUsingScanner {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("sample.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Poursuivez votre apprentissage avec la Documentation de l’API Scanner
(Java SE 8).
Lecture d’un fichier ligne par ligne en utilisant Files
java.nio.file.Files
est une classe utilitaire qui contient diverses méthodes utiles. La méthode readAllLines()
peut être utilisée pour lire toutes les lignes du fichier dans une liste de chaînes de caractères.
Voici un exemple de programme pour lire un fichier ligne par ligne avec Files
:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class ReadFileLineByLineUsingFiles {
public static void main(String[] args) {
try {
List<String> allLines = Files.readAllLines(Paths.get("sample.txt"));
for (String line : allLines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Continuez votre apprentissage avec le Files
API Doc (Java SE 8).
Lecture d’un fichier ligne par ligne à l’aide de RandomAccessFile
Vous pouvez utiliser RandomAccessFile
pour ouvrir un fichier en mode lecture puis utiliser sa méthode readLine
pour lire un fichier ligne par ligne.
Voici un exemple de programme pour lire un fichier ligne par ligne avec RandomAccessFile
:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadFileLineByLineUsingRandomAccessFile {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("sample.txt", "r");
String str;
while ((str = file.readLine()) != null) {
System.out.println(str);
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Continuez votre apprentissage avec le RandomAccessFile
API Doc (Java SE 8).
Conclusion
Dans cet article, vous avez appris différentes façons d’utiliser Java pour lire le contenu d’un fichier ligne par ligne.
Continuez votre apprentissage avec plus de tutoriels Java.
Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line