Fichier text et java

Badaking2 -  
 Badaking2 -
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

Badaking2
 
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
 
0
Badaking2
 
Moi mon texte en fait contient des entiers.
0
Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329 > Badaking2
 
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   Statut Contributeur Dernière intervention  
 
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   Statut Contributeur Dernière intervention   329 > Badaking2
 
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
Badaking2
 
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
Badaking2
 
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