Problème parcourir fichier txt en java
Résolu
naitreGitan
Messages postés
406
Date d'inscription
Statut
Membre
Dernière intervention
-
naitreGitan Messages postés 406 Date d'inscription Statut Membre Dernière intervention -
naitreGitan Messages postés 406 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voici mon problème en espérant que quelqu'un puisse m'aider.
En fait, j'aimerais savoir si il existe une méthode pour savoir si on est à la fin d'un fichier txt sans faire de cette façon :
mon code :
InputStream ips=new FileInputStream("fichier.txt");
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
while ((br.readLine())!=null){//tant que je ne suis pas à la fin
}
en fait, je me pose cette question car quand dans le while, je fais un readLine() pour voir si cette ligne est null, ça pose problème car si j'ai besoin de faire un readLine (ce qui est le cas) à l'intérieur de mon while, il me lit la deuxième ligne de mon fichier texte et non la première.
Je répète ma question : y a t-il une autre méthode de tester si on est à la fin du fichier ? ou y a t-il une façon meilleur de faire ce que je veux faire ?
En espérant avoir été clair. Si vous avez besoin de plus de précision, n'hésitez pas.
merci d'avance :)
voici mon problème en espérant que quelqu'un puisse m'aider.
En fait, j'aimerais savoir si il existe une méthode pour savoir si on est à la fin d'un fichier txt sans faire de cette façon :
mon code :
InputStream ips=new FileInputStream("fichier.txt");
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
while ((br.readLine())!=null){//tant que je ne suis pas à la fin
}
en fait, je me pose cette question car quand dans le while, je fais un readLine() pour voir si cette ligne est null, ça pose problème car si j'ai besoin de faire un readLine (ce qui est le cas) à l'intérieur de mon while, il me lit la deuxième ligne de mon fichier texte et non la première.
Je répète ma question : y a t-il une autre méthode de tester si on est à la fin du fichier ? ou y a t-il une façon meilleur de faire ce que je veux faire ?
En espérant avoir été clair. Si vous avez besoin de plus de précision, n'hésitez pas.
merci d'avance :)
A voir également:
- Problème parcourir fichier txt en java
- 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
En fait il faut déjà faire un readLine avant le début de ta boucle, du type :
String line = br.readLine();
While(line!=null)
{
....... ce que tu veux .......
line = br.readLine();
}
Le loup, solitaire et mystérieux.
String line = br.readLine();
While(line!=null)
{
....... ce que tu veux .......
line = br.readLine();
}
Le loup, solitaire et mystérieux.
bonsoir ,
vous pouvez jetez un coup d'oeuil sur ce lien j'espere qu'il vous aidera :)
https://fst-informatique.univ-lyon1.fr/
bon courage
vous pouvez jetez un coup d'oeuil sur ce lien j'espere qu'il vous aidera :)
https://fst-informatique.univ-lyon1.fr/
bon courage
je viens de regarder ce lien, en effet, il est bien fait.
J'ai tester avec la méthode read() mais un autre problème maintenant, la première ligne que je veux stocker dans une variable, il manque le premier caractère :(
au lieu de me mettre 15, il me met 5 :(
merci beaucoup,
si tu connais un autre moyen.
mon code :
int ligne;
ligne=br.read();
while (ligne!=-1){
System.out.println("1ere "+br.readLine());
System.out.println("2ème "+br.readLine());
System.out.println("3ème "+br.readLine());
ligne=br.read();
une idée pour avoir 15 et non 5 ?
J'ai tester avec la méthode read() mais un autre problème maintenant, la première ligne que je veux stocker dans une variable, il manque le premier caractère :(
au lieu de me mettre 15, il me met 5 :(
merci beaucoup,
si tu connais un autre moyen.
mon code :
int ligne;
ligne=br.read();
while (ligne!=-1){
System.out.println("1ere "+br.readLine());
System.out.println("2ème "+br.readLine());
System.out.println("3ème "+br.readLine());
ligne=br.read();
une idée pour avoir 15 et non 5 ?
Merci beaucoup quand même.
Car c'est tout à fais fonctionnel...
String ligne;
ligne=br.readLine();
while (ligne!=null){
System.out.println("1ere "+br.readLine());
System.out.println("2ème "+br.readLine());
System.out.println("3ème "+br.readLine());
ligne=br.readLine();
}
contenu de mon fichier txt :
15
5
2010
le premier println m'affiche : 5
le deuxième println m'affiche : 2010
donc problème.
quelque chose que je ne vois pas ?
merci de vos réponses
Chaque fois que tu utilises readLine il change de ligne, donc faut faire ca :
String ligne;
ligne=br.readLine();
while (ligne!=null){
System.out.println("1ere "+ ligne);
System.out.println("2ème "+ ligne);
System.out.println("3ème "+ ligne);
ligne=br.readLine();
}
Merci beaucoup, ça fonctionne :)