Fichier text et java

Fermé
Badaking2 - 15 nov. 2008 à 15:37
 Badaking2 - 15 nov. 2008 à 22:47
Bonjour,
j'aimerais faire une fonction en java qui utilise un fichier texte. Dans ce fichier texte, j'ai 3 colonnes, et plusieurs lignes. J'aimerais pouvoir lire chaque colonne de chaque ligne pour pouvoir y appliquer ma fonction.
Pourriez-vous m'aider.
Merci d'avance.
A voir également:

3 réponses

En fait, pouor m'xprimer plus clairement, j'aimerais remplir un tableau à partir d'un fichier texte contenant n lignes et 3 colonnes.
0
Utilisateur anonyme
15 nov. 2008 à 18:00
0
Moi mon texte en fait contient des entiers.
0
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329 > Badaking2
15 nov. 2008 à 20:08
Bonsoir,
Et bien tu récupères le contenu de ton fichier dans une String et tu utilises la méthode Integer.parseInt() pour convertir les éléments en entiers.

Cordialement,
0
Badaking2 > Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009
15 nov. 2008 à 21:58
Mon code pour l'instant ressemble à ça mais cela me retourne les erreurs :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at PROJET.mat.main(dede.java:27)

int compt = 0;
int [][] matrice;


FileReader fr = new FileReader(args[0]);

int i;
int j = 0;
int lu = fr.read();
matrice=new int[lu][3];

for(i=0;i<lu;i++)
for(j=0;j<3;j++)
lu = fr.read();
if (lu != -1)
matrice[i][j]=lu;


fr.close();}


}
0
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329 > Badaking2
15 nov. 2008 à 22:05
Bonsoir,
for(i=0;i<lu;i++)
...
lu = fr.read(); 


Je ne suis pas sûr que java aime ça. Tu devrais créer une variable 'longueurTableauMax' et ne jamais y toucher. Ici tu modifies lu dans tous les sens, ce n'est pas étonnant que tu aies ce genre d'exception.

Cordialement,
0
J'ai essayé avec une constante, cela me rend les mêmes erreurs. En fait dans mon fichier texte, la premiere ligne contient le nombre total de lignes, c'est pour ça que je le récupère en premier pour définir la taille de mon tableau.
0
J'ai modifié le programme, et maintenant j'ai l'erreur : Exception in thread "main" java.lang.NullPointerException
at PROJET.demandes.main(dede.java:78)


String temp = null;
FileInputStream input = null;
InputStreamReader stream = null;
LineNumberReader reader = null;
Vector<Integer> values = new Vector<Integer>();

try {
input = new FileInputStream(new File(args[0]));
stream = new InputStreamReader(input);
reader = new LineNumberReader(stream);

while ((temp = reader.readLine()) != null) {
String[] tempValues = temp.split(" ");
for (String s : tempValues)
values.add(Integer.parseInt(s));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
reader.close();
stream.close();
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}
}
0