我已经为一些事务日志编写了一个soltion,但是其中一些大于4gb,我得到的错误是: -
“gzip流不能包含超过4GB的数据”
好吧所以Compression不支持大于4gb的任何东西,有没有人有任何好的替代库?
答案 0 :(得分:3)
从技术上讲,Gzip可用于> 4GB,但默认使用标准gzip distribution does not support this。因此,许多与gzip相关的工具(例如.NET GZipStream类)都有4GB的限制。
您可能希望使用商业压缩库。一个例子是.NET Zip,它支持大的压缩大小(通过Zip-64)支持。
答案 1 :(得分:1)
你是如何压缩文件的?您使用的是gzip本身还是库?
Gzip支持> 4GB仅适用于1.3.x版本,尽管已为1.2.4版本提供了补丁。
请参阅Can gzip handle files of more than 4 gigabytes?
另请注意,根据您使用的文件系统可能存在限制,但如果您的文件已经大于4GB,那么我们假设此处没有文件系统限制。
答案 2 :(得分:1)
由于这是一个非常简单的应用程序,我决定从c#
打开一个Winzip实例 public static void Compress(FileInfo fi)
{
System.Diagnostics.Process process;
process = new System.Diagnostics.Process();
process.EnableRaisingEvents = true;
string cmd = string.Format(@"/C ""c:\program files\winzip\WINZIP32.EXE"" -min -a {0} {1}", "C:\\testzipit\\q", fi.FullName );
System.Diagnostics.Process.Start("CMD.exe", cmd);
process.Close();
}
适用于我想要解决的案例。