在我当前的项目中,我正在处理大量文件(超过数十亿个文件,容量在 1 到 30 KB 之间)作为资源,为我的客户复制它们是一项耗时的工作。我正在寻找一种打包机制,可以帮助我将其中的每一个 1000 或 10000 个打包到一个文件中,从而提高复制速度,因为在这种情况下,我处理的文件数量要少得多;并且从我的应用程序中读取它们在我编写或更改它们时不需要任何提取和压缩(因为分布式应用程序的性能和性质以及在客户端之间共享资源),我已经搜索并且我了解以下 ZIP 库:
- SharpZipLib
- 点网邮编
- System.IO.打包
但似乎上述库需要 - 至少 - 遍历文件才能访问 zip 或包中的文件而无需提取。我需要通过 zip 或包文件中的地址(文件夹结构层次结构)访问文件!以下链接是通过迭代 zip 文件回答的类似问题:
有人对此问题有任何想法或解决方案吗?
顺便说一句,我正在用 C# 编码,该项目是基于 Windows 窗体的。