Тема: Десеріалізація
Допоможіть знайти помилку при десеріалізації.
Добрий вечір, як видно з назви теми, моя проблема в тому, що ніяк не можу відновити серіалізований об’єкт.
ось код, який повинен відповідати за десеріальзацію, проте цього робити не хоче ;(
String s = us.dir + "save" + us.sh + fname.get(index);// шлях до файлу де зберігається серіалізований об’єкт
// цей механізм відновлення серіалізованого об’єкту я знайша на якомусь російському сайті. Може того й не працює??? ;(
try {
FileInputStream fis = new FileInputStream(s);
try {
ObjectInputStream ois = new ObjectInputStream(fis);
us = new User();//ця стрічка виконується. Перевірено дебагером.
try {
us = (User) ois.readObject();//адже тормозити починає з цієї стрічки
} catch (ClassNotFoundException ex) {
Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex);// хоча по логіці мало б виключення бути тут,
}
} catch (IOException ex) {
Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex);// А от-тут і викидає виключення
}
} catch (FileNotFoundException ex) {
Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex);
}
ось таке виключення воно мені повертає:
java.io.InvalidClassException: cls.bon.Bonus; local class incompatible: stream classdesc serialVersionUID = -5778448776404968205, local class serialVersionUID = 930481008227019687