Problème de désérialisation: java.io.InvalidClassException
Bonjour,
Je travaille sur un projet d'annuaire téléphonique multi-utilisateurs.
voici mes codes de sérialisation et de désérialisation:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| public class SerialiserUtilisateur
{
public void serialiser(UtilisateurStandard utilisateur) throws IOException
{
FileOutputStream fichier = new FileOutputStream("utilisateur.ser");
ObjectOutputStream oos = new ObjectOutputStream(fichier);
oos.writeObject(utilisateur);
oos.flush();
oos.close();
}
public UtilisateurStandard deserialiser() throws IOException, ClassNotFoundException
{
UtilisateurStandard utilisateur;
try
{
FileInputStream fichier = new FileInputStream("utilisateur.ser");
ObjectInputStream ois = new ObjectInputStream(fichier);
utilisateur = (UtilisateurStandard)ois.readObject();
return utilisateur;
}
catch (IOException e)
{
e.printStackTrace();
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
return null;
}
} |
la sérialisation fonctionne bien, mais la désérialisation m'envoie l'erreur suivante:
Citation:
java.io.InvalidClassException: utilisateurs.UtilisateurStandard; utilisateurs.UtilisateurStandard; no valid constructor
at java.io.ObjectStreamClass.checkDeserialize(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at utilisateurs.DeserialiserUtilisateur.deserialiser(DeserialiserUtilisateur.java:16)
at main.testContact.main(testContact.java:32)
une idée pour m'aider?
Merci d'avance!