1

Тема: Допоможіть знайти помилку при десеріалізації

Добрий вечір, як видно з назви теми, моя проблема в тому, що ніяк не можу відновити серіалізований об’єкт.
ось код, який повинен відповідати за десеріальзацію, проте цього робити не хоче ;(

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

2

Re: Допоможіть знайти помилку при десеріалізації

https://stackoverflow.com/questions/285 … d-i-use-it

Подякували: FakiNyan, leofun012