S'arrêter de lire un fichier texte à partir d'un certain mot
josep-t
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'utilise un BufferedReader et un FileReader pour lire un fichier .txt ligne par ligne, et je récupère des informations sur chaque ligne à l'aide de StringTokenizer. J'ai récupéré ce que je souhaite sur les lignes concernées. Le problème c'est qu'il y a seulement une partie dans ce fichier (vers le début) qui m'intéresse, et il y a des lignes qui se ressemblent beaucoup, donc ce genre de pratique ne suffit plus :
Du coup je me demandais, après des recherches sans succès, ne peut-on pas par exemple s'arrêter de lire un fichier lorsqu'on rencontre un certain mot ou une certaine phrase?
J'utilise un BufferedReader et un FileReader pour lire un fichier .txt ligne par ligne, et je récupère des informations sur chaque ligne à l'aide de StringTokenizer. J'ai récupéré ce que je souhaite sur les lignes concernées. Le problème c'est qu'il y a seulement une partie dans ce fichier (vers le début) qui m'intéresse, et il y a des lignes qui se ressemblent beaucoup, donc ce genre de pratique ne suffit plus :
if (line.contains("MALFUNCTION") && (!line.endsWith(") "))) {
.....
}
Du coup je me demandais, après des recherches sans succès, ne peut-on pas par exemple s'arrêter de lire un fichier lorsqu'on rencontre un certain mot ou une certaine phrase?
A voir également:
- S'arrêter de lire un fichier texte à partir d'un certain mot
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier bin - Guide
- Impossible de supprimer un fichier - Guide
1 réponse
Bonjour,
StringTokenizer est déprécié depuis Java 5, il faut oublier son existence.
Voir la documentation : https://docs.oracle.com/javase/1.5.0/docs/api/java/util/StringTokenizer.html
"StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead."
De plus, BufferedReader/FileReader c'est assez lourd pour faire de la lecture, il existe des classes plus simple comme Scanner pour faire ça.
StringTokenizer est déprécié depuis Java 5, il faut oublier son existence.
Voir la documentation : https://docs.oracle.com/javase/1.5.0/docs/api/java/util/StringTokenizer.html
"StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead."
De plus, BufferedReader/FileReader c'est assez lourd pour faire de la lecture, il existe des classes plus simple comme Scanner pour faire ça.
try (Scanner sc = new Scanner(new File("C:/test.txt"))) { while (sc.hasNextLine()) { String line = sc.nextLine(); System.out.println(line); if (line.contains("MALFUNCTION")) break; } }