2

我们需要在 .NET 中以编程方式创建巨大的 zip 文件。目前我们使用 STL System.IO.Compression.ZipFile.CreateFromDirectory 功能,效果很好,但是当目标存档文件大于 4GB 时,所有存档工具(包括内置的 windows zip 支持)都无法正确打开它并认为它是损坏。我也尝试了很多支持 zip64 格式的工具(7zip、TUGZip、DotNetZip 库等),但他们也认为它已损坏。

我仍然可以使用 System.IO.Compression.ZipFile.ExtractToDirectory 函数提取它。但是我想避免重新发明轮子并编写自己的工具来从存档中提取选定的文件(每次只需要 1 个日志时完全提取它是不可接受的)

您是否知道任何(最好是免费的)工具可以打开由 ZipFile.CreateFromDirectory 创建的大于 4GB 的 zip 档案?甚至是现有的代码片段,用于使用 ZipFile.ExtractToDirectory 非常简单地提取所选文件。

4

1 回答 1

4

这原来是 ZipFile.CreateFromDirectory 中的一个错误。我在这里写过这个http://blogs.msdn.com/b/jankrivanek/archive/2013/08/07/bug-in-zipfile-createfromdirectory-your-archive-can-be-irreparable-corrupted.aspx Microsoft 的适当团队正在努力解决问题。

于 2013-08-07T07:53:12.067 回答