Fatango
Messages postés2Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention10 mars 2007
-
10 mars 2007 à 12:45
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 2010
-
10 mars 2007 à 14:24
Voila le problème :
J'ai une classe Mission dans laquelle je veux créer une méthode save(String PathFile) et load(String PathFile). Pour Save pas de problème mais pour load ...
Voici un exemple de code :
class Mission implements Serializable, Cloneable {
...
public void Load(String PathFile)
{
try {
FileInputStream InFile = new FileInputStream(File);
ObjectInputStream ois = new ObjectInputStream(InFile);
this = (Mission) ois.readObject();
}
...
}
}
Le problème c'est que this = (Mission) ois.readObject(); ne fonctionne pas !
Comment je peux charger un objet dans this
Merci pour vos réponses !
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201339 10 mars 2007 à 13:19
Salut:
Tu dois implémenter l'interface Cloneable dans ta classe pour définir la manière avec laquelle tu fais le clonage des instances de ta classe Mission.
En fait, this = (Mission)ois.readObject () est un clonage de l'objet de l'objet retourné par readObject () avec l'objet courant this.
class Mission implements Serializable, Cloneable {
public Object clone () {
}
}
__________________________________________________________
A.B. : La lumière voyage plus vite que le son. C'est pourquoi certaines personnes paraissent brillantes jusqu'à ce qu'elles commencent à parler ...
Fatango
Messages postés2Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention10 mars 2007 10 mars 2007 à 14:18
Merci de ta réponse,
Mais j'ai déjà implémenté clone( ).
Le problème est que pour Java "this" n'est pas une variable, c'est une référence et il ne veut pas modifier sa référence "this" sur l'objet renvoyé par readObject().
Peut être qu'il y a une méthode plus propre que de faire "this = ..." ?