Lecture d'un fichier en java
Fermé
amal-these
Messages postés
25
Date d'inscription
mercredi 3 juin 2015
Statut
Membre
Dernière intervention
28 mai 2016
-
3 mai 2016 à 16:50
amal-these Messages postés 25 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 28 mai 2016 - 7 mai 2016 à 01:50
amal-these Messages postés 25 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 28 mai 2016 - 7 mai 2016 à 01:50
A voir également:
- Lecture d'un fichier en java
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Comment réduire la taille d'un fichier - Guide
- Jeux java itel football - Télécharger - Jeux vidéo
4 réponses
mtR^
Messages postés
1211
Date d'inscription
vendredi 17 juin 2011
Statut
Membre
Dernière intervention
3 juin 2023
169
3 mai 2016 à 17:39
3 mai 2016 à 17:39
Hello !
voir ici : https://forums.commentcamarche.net/forum/affich-590149-lire-un-fichier-texte-en-java
Mais réels, entiers, etc. Tout ça ce n'est que du texte. Ce sera à toi de faire la conversion.
voir ici : https://forums.commentcamarche.net/forum/affich-590149-lire-un-fichier-texte-en-java
Mais réels, entiers, etc. Tout ça ce n'est que du texte. Ce sera à toi de faire la conversion.
mtR^
Messages postés
1211
Date d'inscription
vendredi 17 juin 2011
Statut
Membre
Dernière intervention
3 juin 2023
169
Modifié par mtR^ le 3/05/2016 à 18:21
Modifié par mtR^ le 3/05/2016 à 18:21
Salut,
Tu es obligé de lire ligne par ligne. A moins de connaitre la position réelle en octets d'un élément, et sa taille, tu n'as pas le choix.
En gros tu lis ta ligne, et il faut en extraire ce qui t'intéresse. En fonction du format de ton fichier, tu peux utiliser la fonction split(séparateur). Donc par exemple si tous tes éléments sont séparés par des tabulations, tu fais un split("\t").
Par exemple :
Tu es obligé de lire ligne par ligne. A moins de connaitre la position réelle en octets d'un élément, et sa taille, tu n'as pas le choix.
En gros tu lis ta ligne, et il faut en extraire ce qui t'intéresse. En fonction du format de ton fichier, tu peux utiliser la fonction split(séparateur). Donc par exemple si tous tes éléments sont séparés par des tabulations, tu fais un split("\t").
Par exemple :
FileInputStream inputStream = new FileInputStream (cheminFichier); InputStreamReader lecteur = new InputStreamReader(inputStream, "ISO-8859-1"); BufferedReader buffer = new BufferedReader (lecteur, 8192); //ici on lis ligne par ligne le fichier, tant qu'il y a quelque chose à lire while(((customLigneLue = buffer.readLine()) != null)) { //Tu obtiens un tableau de tous tes élements séparés par des tabulations String[] elements = customLigneLue.split("\t"); } buffer.close(); lecteur.close(); inputStream.close();
amal-these
Messages postés
25
Date d'inscription
mercredi 3 juin 2015
Statut
Membre
Dernière intervention
28 mai 2016
4 mai 2016 à 01:15
4 mai 2016 à 01:15
Merci infiniment pour votre aide.
amal-these
Messages postés
25
Date d'inscription
mercredi 3 juin 2015
Statut
Membre
Dernière intervention
28 mai 2016
4 mai 2016 à 03:53
4 mai 2016 à 03:53
Bonsoir,
j'ai atteint mon objectif. Merci infiniment pour votre aide. je me suis servi du code proposé par "javabaka" dans https://forums.commentcamarche.net/forum/affich-590149-lire-un-fichier-texte-en-java j'ai modifié un peu le code et puis j'ai fais la lecture ligne par ligne. Par la suite j'ai découpé la chaîne de chaque ligne et j'ai converti à double et j'ai stocké dans une matrice.
Je met le code à votre disposition. Si vous avez des remarques pour améliorer, merci pour votre collaboration.
package redprogramme;
import java.util.Vector;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class LireFichierligneparligne {
public double[][] affiche() throws IOException {
String ligne = "";
String fichier = "";
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
Vector<String[]> aide = new Vector<>();
System.out.println("Quel est le nom de votre fichier ?");
fichier = clavier.readLine();
BufferedReader ficTexte;
try {
ficTexte = new BufferedReader(new FileReader(new File(fichier)));
do {
ligne = ficTexte.readLine();
if (ligne != null) {
String[] elements = ligne.split(",");
aide.add(elements);
}
}
while (ligne != null);
ficTexte.close();
}catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}catch (IOException e) {
System.out.println(e.getMessage());
}
double[][] A = new double[aide.size()][aide.elementAt(0).length];
for(int i=0 ; i<aide.size() ; i++){
for(int j=0 ; j<aide.elementAt(0).length ; j++){
A[i][j] = Double.parseDouble(aide.elementAt(i)[j]);
}
}
return A;
}
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
LireFichierligneparligne x = new LireFichierligneparligne();
double[][] A = x.affiche();
for(int i=0 ; i<A.length ; i++){
for(int j=0 ; j<A[0].length ; j++){
System.out.print(A[i][j]+" \t ");
}
System.out.println();
}}}
Si vous avez des remarques pour améliorer, merci pour votre collaboration. Bonne nuit,
j'ai atteint mon objectif. Merci infiniment pour votre aide. je me suis servi du code proposé par "javabaka" dans https://forums.commentcamarche.net/forum/affich-590149-lire-un-fichier-texte-en-java j'ai modifié un peu le code et puis j'ai fais la lecture ligne par ligne. Par la suite j'ai découpé la chaîne de chaque ligne et j'ai converti à double et j'ai stocké dans une matrice.
Je met le code à votre disposition. Si vous avez des remarques pour améliorer, merci pour votre collaboration.
package redprogramme;
import java.util.Vector;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class LireFichierligneparligne {
public double[][] affiche() throws IOException {
String ligne = "";
String fichier = "";
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
Vector<String[]> aide = new Vector<>();
System.out.println("Quel est le nom de votre fichier ?");
fichier = clavier.readLine();
BufferedReader ficTexte;
try {
ficTexte = new BufferedReader(new FileReader(new File(fichier)));
do {
ligne = ficTexte.readLine();
if (ligne != null) {
String[] elements = ligne.split(",");
aide.add(elements);
}
}
while (ligne != null);
ficTexte.close();
}catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}catch (IOException e) {
System.out.println(e.getMessage());
}
double[][] A = new double[aide.size()][aide.elementAt(0).length];
for(int i=0 ; i<aide.size() ; i++){
for(int j=0 ; j<aide.elementAt(0).length ; j++){
A[i][j] = Double.parseDouble(aide.elementAt(i)[j]);
}
}
return A;
}
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
LireFichierligneparligne x = new LireFichierligneparligne();
double[][] A = x.affiche();
for(int i=0 ; i<A.length ; i++){
for(int j=0 ; j<A[0].length ; j++){
System.out.print(A[i][j]+" \t ");
}
System.out.println();
}}}
Si vous avez des remarques pour améliorer, merci pour votre collaboration. Bonne nuit,
Skymer
Messages postés
477
Date d'inscription
vendredi 6 décembre 2013
Statut
Membre
Dernière intervention
1 novembre 2018
75
4 mai 2016 à 20:45
4 mai 2016 à 20:45
Bonjour, DataStream .. Google est ton ami :)
amal-these
Messages postés
25
Date d'inscription
mercredi 3 juin 2015
Statut
Membre
Dernière intervention
28 mai 2016
7 mai 2016 à 01:50
7 mai 2016 à 01:50
Bonsoir, je m'excuse j'ai pas compris votre message?
3 mai 2016 à 18:01
d'ailleurs j'ai déjà visité le lien que vous m'avez recommander mais je trouve des difficulté a comprendre le code car je ne connais rien sur les fichiers en java. et aussi j'ai besoin de lire élément par élément et pas ligne par ligne?
Merci