Relire un fichier avec bufferedReader plusieurs fois

Résolu/Fermé
ryen224 - Modifié par KX le 9/12/2015 à 21:56
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 10 déc. 2015 à 18:59
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!!


A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
9 déc. 2015 à 22:02
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--
0
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
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
10 déc. 2015 à 18:59
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...
0