[java] pb de lecture de fichier texte

pb de lecture de fichier texte [java] - Java - Programmation

Marsh Posté le 28-07-2004 à 09:27:05    

je vais essayer d'etre clair
j'ai un fichier texte contenant les enregistrement d'une table fournisseur
donc chaque ligne represente un enregistrement, et chaques données de l'enregistrement sont separees par un point virgule
j'utilise donc un StringTokenizer qui me permet a partir d'un enregistrement de differencier les differentes donnees
par contre ce qu'il peut se passer c la chose suivante :
 
BARONCH;ETS BARON;;;;25570;GRAND'COMBE CHATELEU;FRANCE;81 68 80 47 ;;
 
le soucis c que kan il y a deux ou plusieurs points virgules a la suite, il ne prend pas ca comme une donnee
pour l'exemple la donnee "255703 doit normalement etre la 6eme donnee de l'enregistrement, et moi il prend ca comme la 3eme donnee
 
voici mon code ;)
 

Code :
  1. BufferedReader text=new BufferedReader(new FileReader(fichier));
  2. int caractere;
  3. String ligne;
  4. while(text.ready()){
  5. ligne=text.readLine();
  6. StringTokenizer st = new StringTokenizer(ligne,";" );
  7. while (st.hasMoreTokens()) {
  8.  String part = st.nextToken();
  9.  System.out.println(part);
  10. }
  11. }
  12. text.close();


 
j'espere que vous m'avez compris
 
merci ;)

Reply

Marsh Posté le 28-07-2004 à 09:27:05   

Reply

Marsh Posté le 28-07-2004 à 09:45:00    

Il va te falloir gérer l'affaire seul, avec une boucle et un index, sur le ';' courant et le ';' suivant, extraire la sous-chaîne, qui peut être vide.
 
EDIT : Sinon, teste avec ce constructeur :
public StringTokenizer(String str, String delim, boolean returnDelims)
Peut-être que ça te retourne ce qu'il faut, au "trim" près.


Message édité par Cherrytree le 28-07-2004 à 09:47:23
Reply

Marsh Posté le 28-07-2004 à 09:45:26    

C'est peut etre du au fait que le token est vide qd tu as une succession de ; donc il n'en tient pas compte.

Reply

Marsh Posté le 28-07-2004 à 09:45:36    

fais une ptite fonction toi même qui li caractère par caractère!
tu pourras gérer ça comme tu veux c pas dur en plus!

Reply

Marsh Posté le 28-07-2004 à 09:49:38    

ouai, je suis d'accord, mais ca me parait bizarre qu'il n'y ai t pas moyen de le faire avec les methodes qui existe deja
 
je vais quand meme essayer avec la mthode split de la classe String

Reply

Marsh Posté le 28-07-2004 à 09:57:42    

tu te fais plus chier à chercher qu'à refaire!

Reply

Marsh Posté le 28-07-2004 à 10:06:13    

apparement ca va aller tres bien avec la methode split ;)
 
merci quand meme

Reply

Sujets relatifs:

Leave a Replay

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