Enregistrer des objets dans un fichier java

Signaler
Messages postés
13
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
16 mai 2011
-
 Utilisateur anonyme -
bonjour , je suis debutante en java et j'ai un projet de gestion d'employés ,
et quand je veut enregistrer un objet (employé) dans un fichier juste le 1ier employé qui s'enregistre je sais pas pourquoi ?!!!
voila la fonction :
public void ecrireFichier(employe e){
ObjectOutputStream oos;
try{
oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(new File("manager.txt" ))));
oos.writeObject(e);
oos.close();
}
catch (java.io.IOException e1) {e1.printStackTrace();}
}
et dans la class main j'ecris juste : m.ecrireFichier(e1);
aidez moi slv et merci d'avance .

4 réponses


Salut,

"et dans la class main j'ecris juste : m.ecrireFichier(e1);"

C'est dans une classe main ou dans la méthode main de ton appli ?

Tu peux nous donner le bout de code concerné de la classe ou de la méthode ?

Cordialement,

...\ Dan /...

Lorsque tu veux enregistrer tes employés, tu parcours une boucle où tu fais appel à chaque fois à ta méthode ecrireFichier ? Car si c'est le cas je me demande si tu n'écrases pas à chaque fois le contenu du ton fichier
L'idée serait que tu fasses une boucle où pour chaque employés tu fais des oos.writeObject(e); sans avoir à refaire des oos = new ObjectOutputStream(...);

Re,

Un rappel.

Lorsque qu'on écri dans un fichier on a 2 posiibilités si le fichier "out" existe:

-écrire dans ce fichier en remplaçant ce qu'il contient (en écrasant donc),

-écrire à la suite de ce qu'il contient ("append").

Exemple:

boolean append = true;
out = new FileWriter(ficOut, append); // true >>>> append >>>> on ajoute

append = false;
out = new FileWriter(ficOut, append); // false >>>> on remplace

Remarque:

Le paramètre append n'est pas obligatoire on écrase par défaut.

Cordialement,

...\ Dan /...

Ah ok, je te remercie pour ces informations qui me permettent de mieux comprendre