我遇到了ZIP文件解压缩的问题。 首先,我使用系统工具自己创建了7z文件。 我试图通过7zip系统工具手动解压缩它,它成功了。 但是,当我尝试从代码中执行此操作时:
string zipPath = @"c:\Test.7z";
string extractPath = @"c:\extractHere";
ZipFile.ExtractToDirectory(zipPath, extractPath);
我得到一个异常:类型的未处理异常 发生'System.IO.InvalidDataException' System.IO.Compression.FileSystem.dll。
无法找到中央目录记录的结尾
我试过阅读论坛,到处都有人说文件已损坏。 我确定它不是。 我也试过这段代码:
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
{
entry.ExtractToFile(Path.Combine(extractPath, entry.FullName));
}
}
}
此代码在第一个通道(ZipFile.OpenRead(zipPath)上返回相同的错误。 我在项目中引用了两个程序集:
任何想法可能出错?