このトピックに関する投稿を見たことがあるので申し訳ありませんが、私の問題を解決するものはないようです。だから私は非常に具体的にしようとします。をStreamCorruptedException
開こうとすると が表示ObjectInputStream
されますByteArrayInputStream
オブジェクト ( X509Certificate
) を XML ファイルに出力する必要があります。私のシリアル化コードは次のようになります。
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputSream(bos);
oos.writeObject(x509.getData()); // x509 is a DOM Element
oos.close();
bos.close();
XML ドキュメントは問題ないようです。私の入力コードは次のようになります。
// elem is a DOM Element with contents placed in Context
ByteArrayInputStream bis = new ByteArrayInputStream(
elem.getTextContext().getBytes())
ObjectInputStream ois = new ObjectInputStream(bis);
X509Certificate x509 = (X509Certificate) ois.readObject();
ois.close();
bis.close();
私が取得しているスタック トレースは、ほとんどが独自のコードを介して行われており、JVM 内部のものではないため、追跡するのは困難です。それが何であるかは次のとおりです。
java.io.StreamCorruptedException: invalid stream header: 5B0A5B0A
at java.io.ObjectInputStream.readStreamHeader (ObjectInputStream.java:783)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
. my code
. my code
助けてくれてありがとう。