我刚刚将一个arraylist保存到文件中。现在我想将它加载回我的程序,它不起作用。这是我的代码:
public void loadgame(){
try {
System.out.println("1");
FileInputStream prein = new FileInputStream("saved game.txt");
System.out.println("2");
ObjectInputStream in = new ObjectInputStream(prein);
System.out.println("3");
kortene = (ArrayList<Kort>)in.readObject();
System.out.println("4");
in.close();
Iit在3之后出错,错误是:
java.io.InvalidClassException: vendespil.Kort; local class incompatible: stream classdesc serialVersionUID = -8031146399228259151, local class serialVersionUID = -3342687010032791159
我的问题不是如何做到这一点,但我已经做了其他人所说的,但它不起作用,我的问题是,为什么我会得到那个错误,如果它因为我在保存和加载之间更改ArrayList,我的意思是,我不更改文件,但在尝试加载之前我确实清除了ArrayList。
答案 0 :(得分:2)
看起来你已经在保存对象和阅读它们之间对保存的类进行了更改。
我想说,再次清理并构建您的项目并使用新的保存操作进行尝试。在写作和阅读之间不要改变课堂上的任何内容
答案 1 :(得分:0)
您可以从此链接获得参考,我认为它对您有所帮助
答案 2 :(得分:0)