[RESOLU]Problème de lecture de fichier tout bête

Problème de lecture de fichier tout bête [RESOLU] - Java - Programmation

Marsh Posté le 02-06-2009 à 15:24:26    

Bonjour bonjour.  
 
Alors je vous explique mon problème. J'ai un algo tout simple qui lit un fichier texte(xml dans mon cas mais nul besoin de JDom) et je veux faire un traitement pour chaque ligne. Donc comme je l'ai dit tout bête. Le problème c'est que quand j'exécute mon algo, j'ai des lignes qui ne sont pas affichés dans la console (j'ai mis un bon vieux system.out.println() de la ligne à la place de mon traitement pour voir cela et donc j'ai des lignes non traités. Voila mon algo
 

Code :
  1. static void extraireVarFichierProcess(String nomFichierProcess)
  2. {
  3.  System.out.println(nomFichierProcess);
  4.  String ligne = "";
  5.  BufferedReader ficTexte;
  6.  try {
  7.   ficTexte = new BufferedReader(new FileReader(new File(nomFichierProcess)));
  8.   if (ficTexte == null) {
  9.    throw new FileNotFoundException("Fichier non trouvé: "
  10.      + nomFichierProcess);
  11.   }
  12.   do {
  13.    ligne = ficTexte.readLine();
  14.    System.out.println(ligne);
  15.   } while (ficTexte.readLine() != null);
  16.   ficTexte.close();
  17.  } catch (FileNotFoundException e) {
  18.   System.out.println(e.getMessage());
  19.  } catch (IOException e) {
  20.   System.out.println(e.getMessage());
  21.  }
  22. }


 
Je ne vois vraiment pas comment des lignes peuvent être passées à la trape.  
 
Si quelqu'un a déja rencontré ce problème ou à une idée je suis tout ouïe.
 
Merci
 
Cordialement
 
gorion18


Message édité par gorion18 le 02-06-2009 à 16:01:34
Reply

Marsh Posté le 02-06-2009 à 15:24:26   

Reply

Marsh Posté le 02-06-2009 à 15:33:30    

Tu dois avoir 1 ligne sur 2 de zappée car dans la condition de ton while tu fais un readLine() et donc ça récupère une ligne dans le vide.
 
Donc par exemple :
 
while ((ligne = ficTexte.readLine()) != null){
   System.out.println(ligne);
}


Message édité par Deamon le 02-06-2009 à 15:43:48
Reply

Marsh Posté le 02-06-2009 à 16:00:35    

Héhé mon héros!
 
Merci il me fallait un avis extérieur car je ne voyais pas du tout l'erreur et en effet c'est bien cela. Voila au moins un sujet vite résolu.
 
Merci beaucoup.
 
gorion18

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed