bonjour,
voici mon probleme :
je souhaite utiliser stringtokenizer pour separer les champs des lignes d'un fichier en lecture, et m'en servir pour construire une liste d'objet de TypeA, le souci est que dans mes ligne j'ai des chaine de caractere et des nombres, voici un morceau de mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 BufferedReader entree = new BufferedReader(new FileReader("monfichier.txt")); while (true) { String lignelue = entree.readLine(); if (lignelue==null) break; StringTokenizer tok = new StringTokenizer(lignelue, "\t"); int nb = tok.countTokens(); //System.out.println(nb); for (int i=0; i<nb; i++) { TypeA stat = new TypeA(); stat.nom = tok.nextToken(); stat.coordonnees[0]= tok.nextToken(); stat.coordonnees[1]= tok.nextToken(); } entree.close(); }
ma classe TypeA:
je tien juste a signaler que j'ai essayer le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class TypeA { private double[] coordonnees; private String nom; public TypeA () { nom = " "; coordonnees = new double[2]; coordonnees[0]=0; coordonnees[1]=0; } }
stat.coordonnees[0]= Double.parseDouble(tok.nextToken());
et que ca me leve toujours une exception a l'execution :
Exception in thread "main" java.lang.NumberFormatException: For input string: "Abbesses"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)
at java.lang.Double.parseDouble(Double.java:482)
merci a tous.
edit: voici a quoi ressemble les les lignes de mon fichier :
Abbesses 48.88484851763018 2.338687777519226
Partager