ObjectOutputStreamを使用して、シリアル化されたオブジェクトのファイルを作成しています。次に、ObjectInputStreamをreadObject()メソッドと一緒に使用して、オブジェクトをファイルから戻します。ObjectInputStreamエラー
それは最初の時間を素晴らしい作品。つまり、ファイルが存在せず、それを開いてオブジェクトを追加すると、ObjectInputStreamオブジェクトを開き、すべてのオブジェクトにアクセスできます。
しかし、後で同じファイル(appendオプションを使用)を開いてオブジェクトを追加すると、ObjectInputStreamオブジェクトはjava.io.StreamCorruptedExceptionを取得します。新しいオブジェクトが開始する「無効な型コード:AC」エラーです。
誰かがこれに遭遇しましたか?私はDeitelの本からいくつかの基本的な教科書の例に戻りましたが、それでも同じエラーが発生します。
編集:私はこれを見つけた - それは追加モードで閉じられ、再び開かれた後あなたはシリアル化されたストリームの最後に追加しない場合があります。書き込みは機能しているように見えますが、後でファイルを読むときにjava.io.StreamCorruptedExceptionが発生します。 「http://mindprod.com/jgloss/gotchas.html#SERIALIZATION」
出力ストリームと入力ストリームの間に直接の相関はありません。同じ日やワークステーションで実行されることさえありません。ある情報はファイルに保存され、後で別のプロセスがオープンして読み込む必要があります。 –