(私は理解していないので、「奇妙な」)今日は、私がLinuxの共有ディレクトリからオブジェクトをシリアライズおよびデシリアライズされたJavaのシリアライズとデシリアライズに奇妙な行動を越えどのくらいのディスク容量がJavaを引き起こす可能性がありますか。 io。 EOFExceptionでは
が来ています。 すべてをシリアル化しても問題なく動作しましたが、同じファイルをデシリアライズしようとしたときには java. io. EOFException
がスローされます。また、デシリアライズは、この新しく作成されたファイルでのみ失敗し、そのディレクトリ内の他のすべての古いファイルで動作していました。
私はインターネットを検索し、低ディスク容量が原因でこのエラーが発生する可能性があるスレッドを検出しました。
私はいくつかの一時ファイルを整理し、それがうまくいったのです。私は、ディスクの空き容量がシリアル化されていないシリアル化にのみ影響することは理解できませんか?
私はApacheのコモンSerializationUtils
クラスを使用しています。以下は、誰かがこの動作を説明することができればそれは本当に参考になる
SerializationUtils. serialize(myObject, new FileOutputStream(new File(sharePath+FILEName) ;
MyObject object=SerializationUtils. deserialize(new FileInputStream(new File(sharePath+FILEName);
シリアル化および逆シリアル化のためのコードがあります。 SerializationUtilsのバグがIOExceptionを突き詰めている可能性があります。
おかげ
ファイルを書き込むときに以前の 'IOException'を無視しない限り、できません。 – EJP
私は手作業でシリアル化を行っていないので、IOExceptionはSerializationUtilsによって管理されます。そのjavadocにあります。 –
それは彼らの問題、またはその貧弱なAPIの設計です。 – EJP