C# 在c中提取zip文件时,拆分和跨距不支持错误#

C# 在c中提取zip文件时,拆分和跨距不支持错误#,c#,C#,在C#中使用ziparchival类提取Zip文件时。它可以很好地为少数文件,但文件大小超过1 GB它抛出“分裂或跨档案不受支持。”我不明白它的意思。如何解决它?允许您这样做。根据他们的文件: 该库支持zip密码、Unicode、ZIP64、流输入和 输出,AES加密,多个压缩级别,自提取 档案,跨档案,等等 允许您这样做。根据他们的文件: 该库支持zip密码、Unicode、ZIP64、流输入和 输出,AES加密,多个压缩级别,自提取 档案,跨档案,等等 使用Dotnetzip库,您甚至可以压

在C#中使用ziparchival类提取Zip文件时。它可以很好地为少数文件,但文件大小超过1 GB它抛出“分裂或跨档案不受支持。”我不明白它的意思。如何解决它?

允许您这样做。根据他们的文件:

该库支持zip密码、Unicode、ZIP64、流输入和 输出,AES加密,多个压缩级别,自提取 档案,跨档案,等等

允许您这样做。根据他们的文件:

该库支持zip密码、Unicode、ZIP64、流输入和 输出,AES加密,多个压缩级别,自提取 档案,跨档案,等等


使用Dotnetzip库,您甚至可以压缩超过4 gb的数据。使用文件流和ByteArray也更容易

using (ZipFile zip = new ZipFile()) {
    zip.CompressionLevel = CompressionLevel.BestCompression;
    zip.UseZip64WhenSaving = Zip64Option.Always;
    zip.BufferSize = 65536*8; //buffer size

    foreach (var file in filenames) {
        zip.AddFile(file);
    }
    zip.Save(outpath);
}

使用Dotnetzip库,您甚至可以压缩超过4 gb的数据。使用文件流和ByteArray也更容易

using (ZipFile zip = new ZipFile()) {
    zip.CompressionLevel = CompressionLevel.BestCompression;
    zip.UseZip64WhenSaving = Zip64Option.Always;
    zip.BufferSize = 65536*8; //buffer size

    foreach (var file in filenames) {
        zip.AddFile(file);
    }
    zip.Save(outpath);
}

当您试图提取在复制过程中已损坏的Zip文件时,我看到了此错误。

当您试图提取在复制过程中已损坏的Zip文件时,我看到了此错误。

如果没有更具体的问题,包括确切显示您正在做什么,就无法回答。但是,.zip归档文件的大小限制为4GB,并且您可能会遇到单个条目大小的限制,否则只能通过编写“跨区”归档文件(即整个归档文件跨越磁盘上的两个或多个文件)来解决该限制。无需提出更具体的问题,包括准确显示您正在执行的操作,这是不可能回答的。但是,.zip归档文件的大小被限制为4GB,您可能会遇到单个条目大小的限制,否则只能通过写入“跨区”归档文件(即整个归档文件跨越磁盘上的两个或多个文件)来解决该限制。有没有针对.NET Core的内容?有没有针对.NET Core的内容?