そのため、 XMLEncoderを使用していくつかのDefaultStyledDocumentオブジェクトをシリアル化しようとしていました。それらは問題なくエンコードされますが、データを見ると、実際のデータはエンコードされず、クラスファイルが提供されるだけです。インターネットで調べたところ、多くの人がこれで問題を抱えていることがわかりましたが、役立つ解決策はありませんでした. 私が見た最良の答えは、「DefaultStyledDocument は適切な Bean ではないため、機能しません」でした。
では、バージョン間の問題に対処することなく、DefaultStyledDocuments をシリアル化できる方法はありますか? バイナリとテキストの両方が受け入れられます。
ここに私がやりたいことのいくつかのサンプルコードがあります:
DefaultStyledDocument content = new DefaultStyledDocument();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
XMLEncoder encoder = new XMLEncoder(stream);
encoder.writeObject(content);
encoder.close();
stream.toString(); //This is the result of the encoding, which should be able to be decoded to result in the original DefaultStyledDocument
XMLEncoder を使用するか、他の方法を使用するかはあまり気にしません。機能する必要があるだけです。