Obtenir le nombre de lignes d'un fichier en Java
-
Compter le nombre de lignes dans le fichier à l’aide de la classe
Scanner
en Java -
Compter le nombre de lignes dans le fichier à l’aide du package
java.nio.file
L’article expliquera les différentes méthodes pour compter le nombre total de lignes dans un fichier.
La procédure de comptage des lignes dans un fichier comprend quatre étapes :
- Ouvrez le fichier.
- Lire ligne par ligne et incrémenter le nombre de un après chaque ligne.
- Fermez le fichier.
- Lire le décompte.
Ici, nous avons utilisé deux méthodes pour compter le nombre de lignes dans un fichier. Ces méthodes sont Java File
Class et Scanner
Class.
Compter le nombre de lignes dans le fichier à l’aide de la classe Scanner
en Java
Dans cette approche, la méthode nextLine()
de la classe Scanner
est utilisée, qui accède à chaque ligne du fichier. Le nombre de lignes dépend des lignes du fichier input.txt
. Le programme imprime également le contenu du fichier.
Exemples de codes :
import java.io.File;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int count = 0;
try {
File file = new File("input.txt");
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
sc.nextLine();
count++;
}
System.out.println("Total Number of Lines: " + count);
sc.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}
Si le fichier se compose de trois lignes, comme indiqué ci-dessous.
This is the first line.This is the second line.This is the third line.
Ensuite, la sortie sera
Production:
Total Number of Lines: 3
Compter le nombre de lignes dans le fichier à l’aide du package java.nio.file
Pour cela, la méthode lines()
lira toutes les lignes d’un fichier sous forme de flux, et la méthode count()
renverra le nombre d’éléments d’un flux.
Exemples de codes :
import java.nio.file.*;
class Main {
public static void main(String[] args) {
try {
Path file = Paths.get("input.txt");
long count = Files.lines(file).count();
System.out.println("Total Lines: " + count);
} catch (Exception e) {
e.getStackTrace();
}
}
}
Production:
Total Lines: 3