Desérialisation d'une suite d'objets

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 - 3 mars 2008 à 23:31
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 - 29 août 2008 à 16:40
Salut à tous et à toutes

Pour faire de la sérialisation, j'utilise cette manière :

while(il reste encore des Personne dans "sauvegarde.dat"){
    ObjectInputStream ois = new ObjectInputStream(new
FileInputStream("sauvegarde.dat"));
    Personne p = (Personne)ois.readObject();



}







question : comment exprimer la condition de la boucle while ? j'ai pensé à la méthode available() mais celle-ci retourne toujours 0 !

5 réponses

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
3 mars 2008 à 23:36
reSalut,

ce n'est qu'un exemple, mais il est mal choisi j'avoue.. Voilà un autre :



ObjectInputStream
ois =
new
ObjectInputStream
(
new




FileInputStream
("sauvegarde.dat"));








Personne p=null;




while
(il reste encore des Personne dans "sauvegarde.dat"){
   
p= (Personne)ois.readObject();


      //...
}
ois.close();
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
4 mars 2008 à 00:31
j'ai réussi en "catchant" l'exception EOFEXception, mais je ne vois pas cette méthode la plus propre ! enfin c'est mon avis..
0
deemon Messages postés 13 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 24 février 2009
29 août 2008 à 16:34
Bonjour Chatbour,

Ce que je pourrais te suggerer c'est l'utilisation de la classe vecteur

while(il reste encore des Personne dans "sauvegarde.dat"){
    p= (Personne)ois.readObject();
     Vector laCollection = new Vector();
      laCollection.add(p);

et a la fin tu peux parcourire ta collection et afficher le contenu de chaque objet.

PS: Tu pourrais aussi implementer la classe Vector lors de la serialisation si tu veux enregistrer un batch de personne par exemple.

----------------------------------------------
un bon logiciel est un simple logiciel
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
29 août 2008 à 16:38
merci pour la réponse mais c'est un peu hors sujet ;)


_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
0

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

Posez votre question
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
29 août 2008 à 16:40
mais comme même c'est utile de stocker les objets récupérés dans un vector..

certes ça ne résout pas le problème de la condition mais merci pour la suggestion

_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
0
Rejoignez-nous