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
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:
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;
}
} |
je tien juste a signaler que j'ai essayer le code suivant:
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