从文件加载ArrayList

时间:2011-04-24 11:57:08

标签: java serialization loading

我刚刚将一个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。

3 个答案:

答案 0 :(得分:2)

看起来你已经在保存对象和阅读它们之间对保存的类进行了更改。

我想说,再次清理并构建您的项目并使用新的保存操作进行尝试。在写作和阅读之间不要改变课堂上的任何内容

答案 1 :(得分:0)

您可以从此链接获得参考,我认为它对您有所帮助

save-load-arraylist-class-container-to-a-file

答案 2 :(得分:0)