2011-04-24 8 views
-2

私はファイルに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(); 

IITは3の後に、エラーを取得し、エラーがある:

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

私の問題は、これを行う方法はありませんが、私はちょうどやったこと他の人が言ったことは、まだそれは動作しません、私の質問は、なぜ私はそのエラーを取得し、それは私がそれを保存してロードする間ArrayListを変更するため、私は、しかし、私はそれをロードしようとする前に、ArrayListをクリアします。

+6

あなたは本当にエラーメッセージをGoogleで探知していたはずです。 –

+6

何かしますか?最初に、[ArrayListをファイルに保存する](http://stackoverflow.com/questions/5770198/saving-an-arraylist-to-a-file)と今度は逆にしてください。 –

答えて

2

オブジェクトを保存してから読み返すまでの間に保存されたクラスを変更したようです。

私は、きれいにして、あなたのプロジェクトをもう一度ビルドし、新しく保存操作でそれを試してみると思います。私はあなたを助けるでしょう。この例

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

0

あなたのためにそれが参考になると思う書き込みとあなたは、このリンクからの参照を取得することができます

関連する問題