Ecriture/lecture donnee num / texte dans fichier.txt

anisotrope Messages postés 35 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 14 mars 2006 - 4 oct. 2004 à 22:01
sanaaafkir Messages postés 17 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 13 mars 2008 - 26 mai 2005 à 22:04
Bonjour je voudrais ecrire et lire des donnees sous la forme suivante par exemple :

5.5 , 3.0
1.5 , 2.0
...

Voila ce que j'ai ecris pour l'ecriture :

public static void Ecrit_donnee_fich(String nomfichier) throws IOException{
PrintWriter messages = new PrintWriter(new FileWriter(nomfichier));

//messages.println("debut fichier : ");
messages.print(5.5);
messages.print(" , ");
messages.print(3.0);
messages.println("");
messages.print(1.5);
messages.print(" , ");
messages.print(2.0);
messages.close();

Pour la lecture je passe par StringTokenizer :

FileReader lecteur = new FileReader("bienvenue.txt");
BufferedReader entree = new BufferedReader(lecteur);

while ((ligne = entree.readLine()) != null) {

StringTokenizer string_token = new StringTokenizer(ligne, " ");
while (string_token.hasMoreTokens()) {

j = 0;
chaine = string_token.nextToken();
System.out.println(chaine);
mat[i][j] = Float.valueOf(chaine).floatValue();
// verif : System.out.println("mat[i][j] = "+ mat[i][j]);

j = 1;
chaine = string_token.nextToken();
// verif : System.out.println(chaine);

chaine = string_token.nextToken();
mat[i][j] = Float.valueOf(chaine).floatValue();
// verif : System.out.println("mat[i][j] = "+ mat[i][j]);
i = i + 1;
}
}

Ca marche mais n'y a t il pas plus simple ???
Je sais que je pourrai créer par exemple un objet matrice et puis serialiser cet objet mais en passant par un float [][] comment ecrire et lire une matrice dans un fichier de facon simple.

Merci

4 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
5 oct. 2004 à 09:09
:big) Neodante :big)

Avec de la sérialisation je pense que c'est plus rapide à mettre en oeuvre et également plus rapide à reconstruire ensuite ...
Quitte à le faire avec un XMLEncoder pour générer du XML à la place du binaire ... regarde la javadoc y a un exemple tout fait sur comment se servir de cette classe (3 lignes) ...
@+

[Responsable www.neogamedev.com]
anisotrope Messages postés 35 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 14 mars 2006
5 oct. 2004 à 11:41
Merci pour la reponse je ne voulais pas passer par les objets mais bon si c'est plus rapide et puis c vrai que mon fichier est enorme : 15 mo.
Pour l'instant j'ai ecrit une application, est ce que XMLEncoder fonctionne aussi avec ca ?
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
5 oct. 2004 à 11:53
:big) Neodante :big)

Sans porb c'est du Java ça fonctionne tout le temps ... par contre vu que c'est du XML ton fichier risque d'être encore plus gros ... par conséquent la meilleure façon de stocker tes données si tu n'as pas besoin de lire ce fichier entre temps est de faire de la sérialisation binaire ("classique" quoi !)
@+

[Responsable www.neogamedev.com]
sanaaafkir Messages postés 17 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 13 mars 2008
26 mai 2005 à 22:04
satut a tout le monde,
je veux realiser ue application de gestion d'annuaire a partir diune classe Abonne ,comosrtant un nom, prenomet un numero de telephone permettant de
-ajouter un abonne
-consulter un abonne
-modifier un abonne
-lister tous les abonnes
j'ai fait l'ajout d'un abonne et la consultation de tous les abonne
et je ne sais pas comment faire pour consulter un seul abonne et la modification d'un enregistrement dans un fichier texte
et merci pour votre aide
Rejoignez-nous