我正在将大量对象序列化为二进制文件,但是我想保持整齐有序的一切,并且不需要文件夹中的数百个文件。是否有将它们分组为zip文件,然后访问该zip中的各个文件?
例如,假设我创建了100个二进制文件并将其压缩。我是否能够访问该zip文件中的单个文件并对其进行反序列化而不解压缩所有内容?
答案 0 :(得分:1)
是的,zip有一个存档目录,允许跳转到特定文件。如果您打算花更多时间阅读存档而不是更改它,这应该是有效的。如果你必须能够将更改提交回非易失性存储,那么除zip之外的其他一些格式会更好。
您可以尝试的另一种方法是在轻量级数据库中存储blob(二进制大对象)。
答案 1 :(得分:0)
您可能希望使用HDF5,一种用于结构化存储的文件格式以及一组用于它的库。
我仍然没有使用它,但我必须在未来的项目中采用它。引用他们的网站:
HDF5是一个数据模型,库和 用于存储和管理的文件格式 数据。它支持无限制 各种数据类型,并设计 用于灵活高效的I / O和 适用于大量和复杂的数据。 HDF5 是便携式的,可扩展的, 允许应用程序进化 他们使用HDF5。 HDF5技术 套件包括工具和应用程序 用于管理,操纵,查看, 和分析HDF5格式的数据
HDF5技术套件包括:
一个多功能的数据模型,可以 表示非常复杂的数据对象 和各种各样的元数据。
一种完全可移植的文件格式 对数据的数量或大小没有限制 集合中的对象。
一个软件 运行在一系列的库 计算平台,来自笔记本电脑 大规模并行系统,和 用C实现高级API, C ++,Fortran 90和Java接口。
丰富的综合性能 允许访问时间的功能 和存储空间优化。工具 和管理的应用程序, 操纵,查看和分析 集合中的数据。
我知道他们提供wrapper for .net,你也可以找到它的一些c# example。