Lire fichier txt et remplir tab[][] java

Fermé
joh4nn4 Messages postés 2 Date d'inscription mercredi 28 janvier 2015 Statut Membre Dernière intervention 28 janvier 2015 - Modifié par joh4nn4 le 28/01/2015 à 14:55
joh4nn4 Messages postés 2 Date d'inscription mercredi 28 janvier 2015 Statut Membre Dernière intervention 28 janvier 2015 - 28 janv. 2015 à 15:11
Bonjour tout le monde,
je vous explique le problème, j'ai un fichier de base qui contient 2000*338 valeurs.
Pour simplifier la chose j'ai créé un deuxième fichier texte avec toutes les valeurs sur une seule colonne.
J'aimerai maintenant rentrer ses valeurs dans un tableau à 2 dimensions pour revenir au fichier original tout en transformant mes string en int.

Avec des petites valeurs pour mieux comprendre mon idée :

Fichier txt 1 =
1,20,5
5,2,8

Fichier txt 2 =
1
20
5
5
2
8

J'ai utilisé le deuxième fichier txt pour générer le code suivant :

import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.*;

public class ReadTextFile
{

public static void main (String[] args) throws IOException
{
int[][] monTableau = new int[2000][338];

BufferedReader in = new BufferedReader(new FileReader("X_train2.txt"));
String line;
while ((line = in.readLine()) != null)
{
System.out.println(line);
int v = Integer.parseInt(line);

for (int i = 0; i < 2000; i++){
for(int j = 0; j < 338; j++){
monTableau[ i ][ j ] =v;
}
}

}
in.close();

}
}

Qui me donne l'erreur suivante lors de l'exécution :
Exception in thread "main" java.lang.NumberFormatException: For input string: "0.17445"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at ReadTextFile.main(ReadTextFile.java:18)

Avec 0.17445 ma première valeur...

Je suis certaine que c'est une erreur bête mais je n'arrive pas à voir :(
Je vous en serai extrêmement reconnaissante si vous trouvez ma petite erreur...
Merci mille fois !
A voir également:

1 réponse

joh4nn4 Messages postés 2 Date d'inscription mercredi 28 janvier 2015 Statut Membre Dernière intervention 28 janvier 2015
28 janv. 2015 à 15:11
résolu !
ll fallait l'équivalent qui est éventuellement Double.parseDouble() (ou avec Float).
0