如何解决“ java.io.InvalidClassExcept本地类不兼容”错误?

时间:2020-03-10 15:38:44

标签: java serialization deserialization

我正在尝试做一个记事本应用程序,并且正在关注this tutorial,当我尝试进行编译时,它会显示此错误

System.err: java.io.InvalidClassException: com.example.note.Note; local class incompatible: stream classdesc serialVersionUID = 2205386845645338430, local class serialVersionUID = -8697044096579308546

,错误表明它是在此功能中,在您运行该应用程序时,它将显示您在存在该应用程序之前保存的笔记

  public static ArrayList<Note> getAllSavedNotes(Context context) {
    ArrayList<Note> notes = new ArrayList<>();

    File filesDir = context.getFilesDir();
    ArrayList<String> noteFiles = new ArrayList<>();

    for(String file : filesDir.list()) {
        if(file.endsWith(FILE_EXTENSION)) {
            noteFiles.add(file);
        }
    }

    FileInputStream fis;
    ObjectInputStream ois;

    for (int i = 0; i < noteFiles.size(); i++) {
        try{
            fis = context.openFileInput(noteFiles.get(i));
            ois = new ObjectInputStream(fis);

            System.out.println(i);
            notes.add((Note) ois.readObject());
            fis.close();
            ois.close();

        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
            return null;
        }
    }

    return notes;
}

有人可以帮我解决此错误吗?

0 个答案:

没有答案