什么是处理归档文件的最佳库?

4

我想知道,对于以下需求,您会选择哪个库:

我需要能够将一堆文件和文件夹(文件系统结构树)合并成一个文件 - 存档,从而拥有一个复合文件。

  • 该库必须跨平台:Windows 7 和 Linux
  • 它必须提供访问内容和仅提取一个文件的能力(例如,如果我有一个数据文件夹的存档,如果我只需要data/subdata/file,它就应该被提取)
  • 它必须具有 C++(最好)或 C API
  • 我不是特别热衷于归档,但这是可取的,因为我将主要存储文本文件,它们可以很好地压缩...

非常感谢您的任何反馈!


看看 bit7z 库。看起来非常有前途。 - HiFile.app - best file manager
3个回答


2

zlibBoost Iostreams 的结合是一个很好的选择,但这并没有进行文件级别的提取。

编辑: 通过另一个SO问题,我找到了其他一些选项:

编辑2:

  • Minizip(通常与zlib一起提供)也可以胜任 - 可能是最轻量级和常用的解决方案。

不提供 OP 所要求的复合部分。 - tibur

0

zlib可能是一个安全的答案。


libarchive 的一个大缺陷是对文件名的 UTF-8 处理非常糟糕。在 macOS 和 Linux 上设置本地语言环境可能有解决方法,但在 Windows 上却没有解决方法。除此之外,它是一个很棒的库。 - HiFile.app - best file manager

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接