POF (Plain Old Files ;)) の形式でアプリケーション インスタンス間でデータを渡すためのバイナリ形式を考え出します。
前提条件:
- クロスプラットフォームであるべき
- 永続化される情報には、単一の POJO と任意のバイト [] が含まれます (実際にはファイル、POJO はその名前を String[] に格納します)
- 順次アクセスのみが必要です
- データの一貫性をチェックする方法であるべき
- 小さくて速くなければならない
- アーカイバーとメモ帳を使用する平均的なユーザーがデータを変更できないようにする必要があります
現在、私は DeflaterOutputStream + OutputStreamWriter を InflaterInputStream + InputStreamReader と共に使用して、XStream でシリアル化されたオブジェクトをファイルごとに 1 つのオブジェクトで保存/復元しています。リーダー/ライターは UTF8 を使用します。ここで、前述の機能をサポートするためにこれを拡張する必要があります。私のフォーマットの考え:
{serialized to XML object}
{delimiter}
{String file name}{delimiter}{byte[] file data}
{delimiter}
{another String file name}{delimiter}{another byte[] file data}
...
{delimiter}
{delimiter}
{MD5 hash for the entire file}
- これは正気に見えますか?
- 区切り文字には何を使用し、どのように決定しますか?
- この場合、MD5 を計算する正しい方法は?
- このテーマについて何を読むことをお勧めしますか?
ティア。