Lire un fichier de données par java

Fermé
kok - 1 août 2003 à 12:34
 Dji - 26 sept. 2008 à 12:36
slt ttmonde
j'ai un fichier données (txt)dont je veux récupérer des données
la structure de fichier et comme suite
a;b;c;d
e;jh;f;k
g;h;d;d
si qlq a une idé comment lire ce fichier et récupérer les données par java n'hésite pas de m'envoie la solution
merci d'avance
A voir également:

7 réponses

Marouane ALAMI
30 nov. 2006 à 21:27
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.io.Reader;
import java.util.Vector;

public class TextImplementor implements DataImplementor {
BufferedReader reader;

public TextImplementor(String fileName) {
try {

reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}

public Product[] getData() {
String line;
Vector v = new Vector();
try {
while (reader.ready()){
line = reader.readLine();
if (!line.equals("")){
Product p = getProduct(line);
v.add(p);
}
}
Product products[] = new Product[v.size()];
for (int i = 0; i < v.size(); i++) {
products[i] = (Product)v.get(i);
}
reader.close();
return products;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}

private Product getProduct(String line) {
Product p = new Product();

String id = line.substring(0, line.indexOf(';'));
line = line.replaceFirst(id + ';', "");

String designation = line.substring(0, line.indexOf(';'));
line = line.replaceFirst(designation + ';', "");


String price = line.substring(0, line.indexOf(';'));
line = line.replaceFirst(price + ';', "");
String quantity = line.substring(0, line.length());

p.setId(id);
p.setDesignation(designation);
p.setPrice(price);
p.setQuantity(quantity);

return p;
}

}


public class Product {
String id;
String designation;
String price;
String quantity;

public Product() {

}
public Product(String id, String designation, String price, String quantity) {
super();
this.id = id;
this.designation = designation;
this.price = price;
this.quantity = quantity;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getQuantity() {
return quantity;
}
public void setQuantity(String quantity) {
this.quantity = quantity;
}
public String toString(){
StringBuffer s = new StringBuffer("----------------------------------------------\n");

s.append(id + '\n');
s.append(designation + '\n');
s.append(price + '\n');
s.append(quantity + '\n');

s.append("----------------------------------------------");
return s.toString();
}
}
4
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
1 août 2003 à 12:43
Salut

il existe une classe bien utile le StringTokenizer

http://java.sun.com/j2se/1.4.1/docs/api/java/util/StringTokenizer.html

ceci devrait te permettre de trouver la solution

Chouba
Casque Bleu forumique
1
merci mais je veux plutot un petit exemple car c'est trés urgent et j'ai bcp choses a faire merci infiniment
0
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
1 août 2003 à 12:52
donc dans ton cas

String lesdonnees = //tu récupères le flux

StringTokenizer st = new StringTokenizer(lesDonnees,";");
     while (st.hasMoreTokens()) {
         println(st.nextToken());
     }


mais c'est bon pour une fois 8)))

Chouba
Casque Bleu forumique
1
comment faire pour recuperer le flux? txt?
0
svp aider moi j'ai un tp pour le 28 /06
il s'agit d'ecrire une application permettant d'ajouter a fichier java (pouvant contenir une ou plusieurs classes java) les méthode associés de GetXXX et SetXXX.

req: on suppose que les types des attributs sont de type PRIMITIF. et merci bien
1
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
26 mai 2008 à 12:54
bonjour,

Ca ne sert à rien de multiplier les topics pour la même question, tu n'auras pas plus de réponse ... visiblement tu as un exercice à rendre pour mercredi. Saches qu'ici on ne fait pas les exercices (voir la charte CCM) des autres. Ce ne serait pas te rendre service. Si tu n'as pas compris ce que tu dois faire, il est préférable que tu en parles avec ton professeur.

;o)

polux
0
mahoucha Messages postés 2 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 26 mai 2008 > Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016
26 mai 2008 à 13:34
je te demande pas toute un prgrm mais je veux savoire juste une idée sure le traitement de fichier ds java car je suis une debetante
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
// voila la classe cat CatFichier.java qui te permet de lire un fichier

import java.io.*;
class CatFichier {
public static void main () throws IOException{
BufferedReader fichier = new BufferedReader(new FileReader("c://dji.txt"));
String str;
str = fichier.readLine( );
while (str != null){
System.out.println(str);
str = fichier.readLine( );
}
}
}

// ça doit obligatoirement suffir

bonne chance
1
mahoucha Messages postés 2 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 26 mai 2008
26 mai 2008 à 13:25
merci bien polux31 mai je veux te dire que mon professeure nous nous aide pas
0
pour plus d'informations et de renseignements vous pouvez m'envoyer sur barabas_chj@hotmail.fr que ce soit Melle mahoucha ou tt autres
0