1

バイナリ データをファイルに追加する必要がありますが、このデータの前に xml ヘッダーがあります。ファイル全体が適切な xml ファイルになることはありませんが、次のような適切な xml ヘッダーが必要です。

<EncryptedFileHeader>
    <Algorithm>name</Algorithm>
    <KeySize>256</KeySize>
    <SubblockLength>64</SubblockLength>
    <CipherMode>ECB</CipherMode>
    <sessionKey>sessionKey</sessionKey>  
</EncryptedFileHeader>
*binary data*

私が JAXB マーシャリングで行う xml ヘッダーは簡単で、このバイナリ データを base64 に追加し、xml 内のメモに保存する方が簡単です。しかし、これは手がかりです。base64 で使用されるこのオーバーヘッドの 33% のスペースを節約するために、バイナリとして保存する必要があります。

問題は、このデータを追加し、後でこれを読み返す (シリアル化/逆シリアル化) 方法です。

別の質問は、ドキュメントの最初の行から削除する方法ですか?

私は使用しようとしました:

marshaller.setProperty("com.sun.xml.bind.xmlDeclaration", Boolean.FALSE);

しかし、それは例外をスローします:

javax.xml.bind.PropertyException: 名前: com.sun.xml.bind.xmlDeclaration 値: javax.xml.bind.helpers.AbstractMarshallerImpl.setProperty(AbstractMarshallerImpl.java:358) で false。 bind.v2.runtime.MarshallerImpl.setProperty(MarshallerImpl.java:527)

ありがとう

4

1 に答える 1