Relire un fichier avec bufferedReader plusieurs fois

Résolu
ryen224 -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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
ryen224
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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