Relire un fichier avec bufferedReader plusieurs fois

Résolu/Fermé
-
Messages postés
16471
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 janvier 2022
-
Bonjour,
je veut parcourir un fichier plusieurs fois avec l'objet de type BufferedReader , quand je met:

for(int i=0;i<26;i++){
ligne=lire2.readLine(); 
while((ligne)!=null)
{
......... 
ligne=lire2.readLine();
}}

ou bien:
for(int i=0;i<26;i++){
while((ligne=lire2.readLine())!=null)
{
......... 
}}

ou:
lire1=new BufferedReader(...);


le fichier est parcouru q'une seule fois.
comment je peut regler ce probleme?? aider moi svp!!
mercii d'avance!!


1 réponse

Messages postés
16471
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 janvier 2022
2 938
Bonjour,

Quel intérêt de lire plusieurs fois le même fichier ?

Les accès aux fichiers sont coûteux, pour de petits fichiers (ce qui est le cas de la plupart des programmes) il vaut mieux travailler sur une copie du fichier chargé en mémoire.

Mais sinon, pour lire plusieurs fois le même fichier, tu devrais regarder la méthode reset de BufferedReader pour "rembobiner" le flux.

https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html#reset--
d'abord, merci pour l'aide ça marche
le travail demandé est de créer 26 dictionnaire chacun contient les mots qui commence avec la mm lettre sans utiliser le switch c'est pour ça j'ai besoin de parcourir le fichier plusieurs fois
Messages postés
16471
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 janvier 2022
2 938
Je n'ai pas l'énoncé complet pour tout comprendre mais tu pourrais très bien écrire tes 26 dictionnaires en même temps ce qui te fait qu'une seule lecture du fichier...