Androidでデータをデシリアライズするとうまく動きません
入力
Java
1protected void onPause() { 2 try { 3 FileOutputStream fos = openFileOutput("file.dat", MODE_PRIVATE); 4 ObjectOutputStream oos = new ObjectOutputStream(fos); 5 oos.writeObject(list);//シリアライズされたArrayListクラスのオブジェクト 6 oos.close(); 7 fos.close(); 8 } catch (Exception e) { 9 e.printStackTrace(); 10 } 11 super.onPause(); 12 }
出力
Java
1try { 2 fis = openFileInput("file.dat"); 3 ois = new ObjectInputStream(fis); 4 list = (ArrayList<ClassA>) ois.readObject(); 5 ois.close(); 6 fis.close(); 7 } catch (Exception e) { 8 e.getStackTrace(); 9 }
具体的には、入力時にEOFExceptionというエラーが発生してリストが空になります。
常にエラーが発生するわけではなくリストの中身が1つや2つの場合は発生しないのですが、リストの中身が増える程発生する確率が高くなります
解決方法があれば教えて下さい
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。