从文件加载ArrayList

问题描述:

我刚刚将一个ArrayList保存到文件中。现在我想将它重新加载到我的程序中,并且它不起作用。这里是我的代码吧:从文件加载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(); 

本品系3后得到一个错误,错误是:

java.io.InvalidClassException: vendespil.Kort; local class incompatible: stream classdesc serialVersionUID = -8031146399228259151, local class serialVersionUID = -3342687010032791159 

我的问题不在于如何做到这一点,但我刚刚做了其他人说过,但它不起作用,我的问题是,为什么我得到该错误,如果它因为我更改ArrayList之间保存和加载它,我的意思是,我不改变文件,但我试图加载它之前清除ArrayList。

+6

你真的应该Google错误信息。 – 2011-04-24 11:59:14

+6

你做任何事情吗?首先你问[保存一个ArrayList到一个文件](http://stackoverflow.com/questions/5770198/saving-an-arraylist-to-a-file),现在相反。 – 2011-04-24 12:01:16

看起来您已经对保存的对象进行了更改,并保存了对象并将它们读回。

我会说,清理并重新构建您的项目,并尝试使用新保存操作。不要读写

你可以从这个链接我想引用之间改变类的任何信息在这将有助于你

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