Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Java] lire un fichier texte

etrange bufferedReader non ready

Sujet résolu
10 janvier 2006 à 15:08:22

Edit : Désolé tout le monde, j'ai réglé le probleme plus besoin d'aide merci

Coucou

J'aimerais lire et ecrire dans un fichier .csv (un fichier qui permet de faire des tableau et qui se traite avec excel, les séparateur etant des ;)

Pour pouvoir ecrire, il faut que je lise le fichier, que je modifie des données puis que je reecrive le tout...

Coté ecriture, il n'ya pas de probleme, tout baigne, mais j'ai un probleme coté lecture,
voici mon code.

        public static void ecrireCsv(int a, double b, int c, double d, int e, double f , int g, double h , int i, double j, int k, double l, int m)
        {

        PrintWriter sortie;
        String nomFichier = "adresse fichier";
try
{


        sortie = new PrintWriter(new BufferedWriter(new FileWriter(nomFichier)));
        sortie.println(lireCsv(nomFichier));       

        sortie.print(a+";"+ b +";"+ c +";"+ d +";"+ e +";"+ f +";"+ g +";"+ h +";"+ i +";"+ j +";"+ k +";"+ l +";"+ m);
       
        sortie.close();
}
catch( Exception ex)
{System.out.println("ca a cho");}
       

               
        }
        public static String lireCsv(String nomFichier)
        {
                BufferedReader entree;
                String texte, prise;
                try
                {
                         entree = new BufferedReader(new FileReader(nomFichier));
                         System.out.println(entree.ready());//rajouté apres, ca me dit si le buffered est prés
                       
                         prise = entree.readLine();//je recupere la premiere ligne du fichier
                         texte = prise;
//je la met dans la variable texte
                        System.out.println(prise);
//ca c''est pour voir ce que ca donne         
                        while(prise !=null)//tant qu'il y a du texte
                        {
                                                                                texte = texte+"\n"+prise;
                 prise = entree.readLine();

                                       
                        }

                       
                        System.out.println(texte);//je regarde ce qu'il y a dans ma variable
                        entree.close();//je ferme le fichier
                        if(texte !=null)
                        return texte;
                        else
                                return "la variable est null";
                       
                }
                catch(Exception e)
                {
                        System.out.println("exception levée");
                        return "bug";
                }
               
               
        }


Et dans ma console, j'ai comme reponse :
false
null
null

ce qui veut dire que le bbuffered reader n'est pas pres, sauf que si je fait une boucle qui attend que le buffered soit pres, le programme plante.

le premier null c'est le prise, donc c'est comme si mon fichier etait vide ce qui n'est pas le cas.
et le second c'est la variable texte, qui est vide (normal vu que prise etait vide avant d'entrer dans le programme)
or le fichier n'est pas vide, des le debut j'ai mis des trucs dedans.

J'ai l'impression que ca vient du fichier, qui a un pb, car je ne tombe dans aucune exception...

et dans le fichier a la fin, il y a:
la variable est null
et ensuite les differentes variable que je donne dans la classe ecrireCsv


Si quelqu'un peut m'aider, je le remercie.

phoenix_stealer

Edit : trop tard, merci qd meme

j'essayé de iire une fichier que j'avais déja en ecriture, donc il n'y avais plus rien dessus... ecore dsl
  • Partager sur Facebook
  • Partager sur Twitter