在C#中解压4GB文件

4
我正在使用Sharp lib来进行压缩和解压缩。它可以处理4GB以下的文件,所以我正在寻找一些.NET框架的解决方案。我尝试了dotnet中的Gzipcompression,但它也无法解压缩4GB的文件。您知道有哪些其他的压缩库可以处理大文件吗?
谢谢。
3个回答

7

DotNetZip可以在100%托管代码中正确处理ZIP64存档(>4.2GB)。 从我的测试来看,它还具有比框架库更好的功能集,并且在压缩方面做得更好(即:与框架的压缩例程相同或更好的性能,对于更小的文件通常约为框架压缩例程大小的1/3)。


5
在.NET 4.0中取消了4 Gb的限制,因此您可以使用System.IO.Compression命名空间中的类。
在.NET 4中改进了System.IO.Compression中的压缩算法。DeflateStream和GZipStream不再膨胀已经压缩过的数据。这意味着,在许多情况下,当您在.NET 4上使用这些流时,您将看到更好的压缩比率。我们还删除了4 GB的大小限制,因此您现在可以压缩超过4 GB长度的流。
来源:BCL中的新功能 如果您无法针对.NET 4.0框架,则恐怕我无法提供任何帮助。

1
如果外观不是问题,您可以使用Shell FolderItems(shell32.dll),唯一的缺点是它有点棘手,而且您会得到Windows进度对话框而不是回调例程。

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