SevenZipArchiveException:存档无效。打开/读取错误

Posted

技术标签:

【中文标题】SevenZipArchiveException:存档无效。打开/读取错误【英文标题】:SevenZipArchiveException: Invalid archive. open/read error 【发布时间】:2016-04-28 20:03:26 【问题描述】:

我在尝试提取 zip 文件时收到以下错误: “SevenZip.SevenZipArchiveException:无效存档:打开/读取错误!它是否加密并且提供了错误的密码? 如果您的存档是异国情调的,则 SevenZipSharp 可能没有其格式的签名,因此错误地认为它是 TAR。"

zip 文件无法正常工作,但 7z 文件一切正常。是否可以使用 SevenZipExtractor 提取 zip 文件?

string sourcePath = @"c:/temp/yyy.zip";
using (var file = new SevenZipExtractor(sourcePath))

   file.ExtractArchive(outputPath);

【问题讨论】:

我遇到了同样的问题。如果我找到解决方案,我会在这里发帖...如果有人有任何指示,将不胜感激:) 通常您可以使用 SevenZipExtractor 提取 zip 文件。它适用于 Windows 2008R2 和 7zip 16.2。但是在升级到 2012R2 和 7zip 16.4 后我遇到了同样的问题。还没找到解决办法! :( 同样的问题,尝试使用 SevenZipSharp 作为 nuget,但无法提取扩展名为 .zip 的文件。过去可以与旧 DLL 一起正常工作,但不清楚它们是什么版本。 【参考方案1】:

当我遇到这个错误时,我发现这是一个问题,当我尝试解压缩一组特定文件时。例如,如果您运行 SevenZipCompressor 并说它在中途停止,这会破坏所述文件的压缩,因此当您尝试解压缩文件时,就会发生错误。

对我来说,解决方法是重新压缩文件集并确保它完全运行,然后错误消失,允许提取工作。

因此,当前问题的意义在于在这种情况下查看源并确保文件或存档没有损坏。

【讨论】:

【参考方案2】:

我最近在 18.5.0 版本中遇到了同样的问题。

将包降级到 9.38.3 解决了我的问题。

【讨论】:

【参考方案3】:

对于仍然遇到此问题的人:尝试解压缩已启用文件名加密的 rar5 文件时也会发生这种情况。

【讨论】:

以上是关于SevenZipArchiveException:存档无效。打开/读取错误的主要内容,如果未能解决你的问题,请参考以下文章