Probleme de serialization

cs_hidalg007 Messages postés 11 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 10 janvier 2010 - 5 janv. 2009 à 22:00
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 - 6 janv. 2009 à 16:32
bhen ce que je fais c'est tout simplement importr des listes d'objet deja définis et serializables et les modifier , mettre a joure la liste et reserialiser
le probleme que je trouve maintenant avec ctte application c'est que : je deserialis une lste d cadres d'une agence , je modifie un attribu (une prime personelle selon quelques critere) et je l'affich en output s'est modifié , mais quand je ferme l'application et jerefais la meme chose l'attribus n'est pas actualisé ie la serialization de cet attribut ne marche pas meme si d'autres attributs comme le nom se modifie au nveau du fihier





ArrayList B=new ArrayList();


if(jRadioButton1.isSelected()){
int i=jComboBox2.getSelectedIndex();
//float n ;
 //////////////
 try{
 FileInputStream entre2 = new FileInputStream("c:\\Cadre.dat");
   ObjectInputStream e2 = new ObjectInputStream(entre2);
                        B.addAll((ArrayList)(e2.readObject()));
 }
                        
 catch(IOException io)  {io.printStackTrace();}    
 catch(ClassNotFoundException c){c.printStackTrace();}
////////////////////////////////////////
/*je doute a ce casting qui me rend les 
 Cadre cdr=(Cadre)B.get(i);




 float k=Contratt.primeCadre(Float.parseFloat(jTextField4.getText()),(int)jComboBox1.getSelectedIndex());
cdr.tilodyalo(k);
((Cadre)cdr).LCC(C);
cdr.zidlo(Float.parseFloat(jTextField4.getText()));
cdr.ajouterprAuto(k);


/* c'est l'application qui modifie l'attribue primeAuto qui forme un probleme pour moi*/


B.add(i,((Membre)cdr).clone());
System.out.println(k);
System.out.println(cdr.primeAuto);
float n=cdr.primeAuto;
 System.out.println(B);
 System.out.println(((Cadre)B.get(i)).primeAuto);
////////////////////////




try{
FileOutputStream sortie1 = new FileOutputStream("c:\\Cadre.dat");
   ObjectOutputStream s1  = new ObjectOutputStream(sortie1);
                
   s1.writeObject(B);
                        s1.writeObject(n);
                        
                        s1.flush();
   s1.close();
}
catch(IOException io)  {io.printStackTrace();}
 
 }


 


}


 
[CODE]    


Voici la methode Constructeur de Cadre :[CODE]


public Cadre(String Nom , String Prenom , int Tlf , int numbureau, int s, int pp, int pa,int ps, int ph){
   nom=Nom;
   prenom=Prenom;
   phone=Tlf;
   bureau=numbureau;
   somme=s;
    primeperso=ps;
 primeAuto=pa;
    primeMoto=0;
    primeSante=ps;
    primeHabitation=ph;
   
   }


 





Merci

1 réponse

uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
6 janv. 2009 à 16:32
0
Rejoignez-nous