[JAVA]Probleme lecture ligne dans fichier txt
Résolu
bitterwizard
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
bitterwizard Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
bitterwizard Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour, pouvez vous m'aider s'il vous plait j'ai le code suivant en java
import java.io.*;
import java.util.*;
public class fichier {
String datas="datas.txt";
String ligne;
public fichier() {
// FileInputStream fis = new FileInputStream(datas);
try {
BufferedReader br = new BufferedReader(new FileReader(datas));
ligne=br.readLine();
StringTokenizer st=new StringTokenizer(ligne, ",");
while ((ligne = br.readLine()) != null) {
while(st.hasMoreTokens())
System.out.println(st.nextToken());
}
br.close();
}
catch (Exception e){
e.printStackTrace();
}
}
public static void main(String agrs[]){
new fichier();
}
}
Le probleme c'est qu'il m'affiche seulement la premiere ligne du fichier, pouvez vous me dire comment faire pour afficher toutes les lignes ? Merci d'avance.
import java.io.*;
import java.util.*;
public class fichier {
String datas="datas.txt";
String ligne;
public fichier() {
// FileInputStream fis = new FileInputStream(datas);
try {
BufferedReader br = new BufferedReader(new FileReader(datas));
ligne=br.readLine();
StringTokenizer st=new StringTokenizer(ligne, ",");
while ((ligne = br.readLine()) != null) {
while(st.hasMoreTokens())
System.out.println(st.nextToken());
}
br.close();
}
catch (Exception e){
e.printStackTrace();
}
}
public static void main(String agrs[]){
new fichier();
}
}
Le probleme c'est qu'il m'affiche seulement la premiere ligne du fichier, pouvez vous me dire comment faire pour afficher toutes les lignes ? Merci d'avance.
A voir également:
- [JAVA]Probleme lecture ligne dans fichier txt
- Fichier bin - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Fichier epub - Guide
- Fichier rar - Guide
2 réponses
Bonjour,
Quand tu as un problème il faut chercher à le résoudre et se poser les bonnes questions.
Tu peux donc commencer par : qu'est ce que mon programme fait ? Dans ton cas il n'affiche que la premiere ligne.
Ok, mais alors pourquoi que la premiere ligne ? Et là tu regarde ton code et de demandant : qu'est ce que j'affiche point de vue code ?
La réponse :
Ok, ce fameux 'st' ou est ce que je le change par rapport à ce que je lis dans le fichier ?
La réponse saute aux yeux :
Et là normalement tu te dis : ok, donc ce que j'affiche dépend de ce que j'ai dans ligne, mais encore faut-il faire cette opération dans ma boucle while pour que la variable 'st' soit raffraichie avec ce qu'il y a dans "ligne".
Conclusion : Il te manque cette instruction dans ta boucle while, comme suit :
En espérant que la démarche puisse te resservir.
Quand tu as un problème il faut chercher à le résoudre et se poser les bonnes questions.
Tu peux donc commencer par : qu'est ce que mon programme fait ? Dans ton cas il n'affiche que la premiere ligne.
Ok, mais alors pourquoi que la premiere ligne ? Et là tu regarde ton code et de demandant : qu'est ce que j'affiche point de vue code ?
La réponse :
System.out.println(st.nextToken());
Ok, ce fameux 'st' ou est ce que je le change par rapport à ce que je lis dans le fichier ?
La réponse saute aux yeux :
StringTokenizer st=new StringTokenizer(ligne, ",");
Et là normalement tu te dis : ok, donc ce que j'affiche dépend de ce que j'ai dans ligne, mais encore faut-il faire cette opération dans ma boucle while pour que la variable 'st' soit raffraichie avec ce qu'il y a dans "ligne".
Conclusion : Il te manque cette instruction dans ta boucle while, comme suit :
ligne=br.readLine(); StringTokenizer st=new StringTokenizer(ligne, ","); while ((ligne = br.readLine()) != null) { st=new StringTokenizer(ligne, ","); while(st.hasMoreTokens()) System.out.println(st.nextToken()); }
En espérant que la démarche puisse te resservir.