在执行以下代码时,我在 OpenRead
语句中遇到异常:
End of Central Directory record could not be found.
不过,我可以通过 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/