如何在c#中压缩4GB以上的文件时跳过ZIP64格式



这里我试图使用大小大于4GB的.net 4.5版本创建zip文件。文件格式创建为ZIP64。之后还有一个用java编写的程序,它将解压缩并进行处理。但是java代码正在抛出类似于";无效条目大小";。我们可以跳过ZIP64格式,这样java代码就可以轻松地处理zip文件吗?

public static void ZipTest(string infile, string outfile)
{
using (ZipArchive archive = System.IO.Compression.ZipFile.Open(outfile,                                         
ZipArchiveMode.Create))
{
archive.CreateEntryFromFile(infile, Path.GetFileName(infile));
}
}

这是不可能的,因为原始.ZIP格式对输入和输出文件有4 Gb的限制。

来自维基百科上的ZIP文章:

存档文件和单个文件的最大大小里面是4294967295个字节(23^2−1个字节,或4 GiB减去1个字节(用于标准ZIP。

最新更新