我想提出一种二进制格式,用于以 POF(普通旧文件;))的形式在应用程序实例之间传递数据。
先决条件:
- 应该是跨平台的
- 要持久化的信息包括单个 POJO 和任意字节 [](实际上是文件,POJO 将其名称存储在字符串 [] 中)
- 只需要顺序访问
- 应该是一种检查数据一致性的方法
- 应该小而快
- 应该防止使用存档器+记事本的普通用户修改数据
目前我正在使用 DeflaterOutputStream + OutputStreamWriter 和 InflaterInputStream + InputStreamReader 来保存/恢复使用 XStream 序列化的对象,每个文件一个对象。读取器/写入器使用 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 的正确方法是什么?
- 您建议阅读有关该主题的哪些内容?
TIA。