A voir également:
- Fichier text et java
- Fichier rar - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
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.
Utilisateur anonyme
15 nov. 2008 à 18:00
15 nov. 2008 à 18:00
Salut,
Peut-être ici :
https://forums.commentcamarche.net/forum/affich-590149-lire-un-fichier-texte-en-java
Cordialement,
Dan
Peut-être ici :
https://forums.commentcamarche.net/forum/affich-590149-lire-un-fichier-texte-en-java
Cordialement,
Dan
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
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,
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,
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
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();}
}
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();}
}
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
15 nov. 2008 à 22:05
Bonsoir,
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,
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,
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.
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();
}
}
}
}
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();
}
}
}
}