begin process at 2008 08 20 14:10:00
1 228 858 membres
224 nouveaux aujourd'hui
14 257 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Revenir au début du file avec un FileReader [ Divers / Général ] (daviddubois)

Revenir au début du file avec un FileReader le 13/08/2007 10:13:01

daviddubois
Bonjour tout le monde,

Je rencontre un problème que je ne peux pas résoudre.

Je somme les nombres d'un fichier txt, la première fois ça fonctionne très bien, j'ai le bon résultat.

Par contre, quand je refait la somme, ça ne fonctionne plus, j'obtiens 0.

Voici mon code et certaines explications :

int i=0;
       
        while((ligne=br.readLine())!=null)
        {
            i++;
            nombreTransformes = Integer.parseInt(ligne);
            total+=nombreTransformes;        
           
        }
       
        System.out.println("i vaut " +i);

Donc la première fois, ça fonctionne bien, i vaut le nombre de chiffre se trouvant dans le fichier (par exemple 11) et le total est correcte, par contre, quand je repasse une seconde fois, i vaut 0 (donc aucun passage dans le while) et la somme vaut 0.

Je me demande si le FileReader ne devrait pas revenir au début du file, comment faire cela ?

Merci d'avance pour votre aide.

DD

Re : Revenir au début du file avec un FileReader le 13/08/2007 10:49:10

GodConan
ici cela n apparait pas  mais à l évidence ,o)  tu ne réinitialises pas ton flux de lecture ....
ce qui fait que sur le second passage tu pontes deja la fin de ton fichier ;o) et donc tu fais la somme de ZERO element ;o) ....
ferme tes fulx apres chaque boucle et réouvre les avant ...

GL


GodConan ;o)

Re : Revenir au début du file avec un FileReader le 13/08/2007 11:00:37

daviddubois
Bonjour GodConan,

Merci pour tes réponses.

tu dis :

ferme tes fulx apres chaque boucle et réouvre les avant ...

Pour fermer, j'utilise .close() mais comment faire pour ouvrir ?

Autre chose :

J'essaie d'ouvrir un File en append (donc ajout à la fin du document) avec ce code :

import java.io.*;
public class test
{
 public static void main (String [] args) throws IOException
 {
  String chemin ="c:/somme.txt";
  File f = new File(chemin,true);
 }
}

Mais j'obtiens en permanence ce message d'erreur :

"Cannot resolve symbol constructor File (java.lang.String.boolean)

Qu'en penses-tu ?

Je te remercie encore pour tout

Re : Revenir au début du file avec un FileReader le 13/08/2007 11:25:16

GodConan
;o) il semble qu il ne connaisse pas ce contructeur ;o) ...
de plus quand tu veux lire un fichier , tu ne l ouvre pas en append... ;o)

apres un close, il te faut tout simplement refaire un new .... si tu organises bien tes methodes et class cela coule tres bien...


GodConan ;o)

Re : Revenir au début du file avec un FileReader le 13/08/2007 13:34:04

daviddubois
Salut Conan,

Tes pistes m'ont énormément aidé !

Merci !

Le problème est que je passais en paramètre les bufferedWriter, FileReader et autres, à ne surtout pas faire !

Il vaut miex créer dans chaque méthodes un nouveau FileReader.... autrement ça pose des problèmes.

Merci pour tout.



Classé sous : file, somme, début, filereader, revenir

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS