来自MSDN: DeflateStream Class
DeflateStream不能用于压缩大于4 GB的文件。
对于没有4 GB限制的.NET,还有其他任何实现吗?
注意:我确实需要解压缩GZ格式的文件,内容大于4 GB。任何代码都可以这样做吗?
答案 0 :(得分:8)
仅供参考,我们已从.NET 4中的DeflateStream中删除了4 GB的限制。
答案 1 :(得分:7)
答案 2 :(得分:2)
看看SharpZipLib。不确定它是否受到同样的限制,但值得一看。
答案 3 :(得分:1)
环顾四周,似乎很多人都遇到过这个问题。 System.IO.Compressio.DeflateStream clarifications please 似乎是最全面的。
我能够找到的唯一实现似乎是通过使用Zip64克服了这个问题 Xceed Zip for .NET
然而,它非常昂贵,我不确定它是否符合您的需求。
编辑:
似乎有很多Zip64 for .NET的实现,但我找不到任何免费的。
答案 4 :(得分:1)
寻找支持 DEFLATE64 的库(不是Zip64,这是ZIP文件格式的扩展)。 Xceed Zip for .NET确实支持Deflate64,我相信其他人也会这样做。
答案 5 :(得分:0)
DotNetZip执行ZIP64 for .NET,它是免费的。但Zip64与Deflate64不同。
答案 6 :(得分:0)
虽然该文档说DeflateStream和GZipStream的4GB限制,但由于CRC32校验和,只有GZipStream受限。如果您不需要CRC32,请使用DeflateStream。