我正在尝试将几个文件保存到容器文件中。这些文件可以在以后修改,这意味着可能必须扩大容器。用户应该只将此容器视为文件系统中的单个文件。该应用程序是用C ++编写的,并在Windows上运行,但这些文件也应该可以移植到其他平台上。
容器格式的要求是:
1. 大小:允许大于4GB的文件
2. 可移植性:在其他平台上打开容器文件应该是可行的
3. 性能:更改容器内的文件时,只能更改代表该特定文件的“块”。特别是,可能没有完全重写该文件
4. 结构:它应该提供一个目录结构,允许构建文件和目录的层次结构。
当省略要求1.)和2.)复合文件(如Word和Excel使用)是一个很好的选择。
当然,可以设计一个满足所有要求的API,但我想知道是否已经有一些解决这个问题的开源解决方案?
有什么建议吗?
答案 0 :(得分:2)
如果您正在使用C ++构建应用程序,那么HDF5文件格式是您正在寻找的吗?
答案 1 :(得分:1)
谷歌搜索“便携式结构化存储”产生了:pole
答案 2 :(得分:0)
某些存档格式(zip,bzip2)可能会起作用。
答案 3 :(得分:0)
为了扩展J.F. Sebastian的答案,tar
可能是一种更好的格式,因为它没有压缩。它实际上只是一个容器。
我不确定这些存档格式是如何编辑的。与SharpZipLib玩游戏并找出答案,我猜=)