在执行以下代码时..我在OpenRead语句上得到了一个异常(exception):



但是,我可以通过Windows资源管理器打开没有问题的zip文件。

有什么想法吗?

string zipPath = @"c:\testfiles\MMM_C13000_2016M08.zip";
   using (ZipArchive archive = ZipFile.OpenRead(zipPath))
   {
       foreach (ZipArchiveEntry entry in archive.Entries)
       {
       }
   }

最佳答案

可以用两种不同的方式处理zip文件。您可以简单地从头开始顺序读取,随时处理本地 header 和压缩数据。或者,您可以使用zip文件末尾的中央目录来查找条目,并通过在文件中进行查找来对其进行处理。

似乎zip文件已损坏或末尾有垃圾,这阻止了一种方法的工作,而另一种方法则无法工作。

关于c# - 找不到中央目录的System.IO.Compression结束记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39390562/

10-11 17:11