Relire un fichier avec bufferedReader plusieurs fois

Résolu
ryen224 -  
KX Messages postés 19031 Statut Modérateur -
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

  1. KX Messages postés 19031 Statut Modérateur 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
    1. 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
    2. KX Messages postés 19031 Statut Modérateur 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