C# System.IO.InvalidDataException zip file



System.IO.InvalidDataException:"中央目录结尾中的预期条目数与中央目录中的条目数不匹配。

当我尝试将 zip 文件提取到文件夹时,我在"为了好玩"制作的代码上收到此错误。帮助 ;-;

这是我的情况:我制作了一个拖放面板,该面板接收具有唯一扩展名的文件(该文件是zip,但我更改了扩展名以测试(。然后程序将获取存档中的第一行文本,并将创建一个文件夹来提取具有第一行给定名称的文件。但是它在提取代码上出现错误

string[] Arquivo = (string[])e.Data.GetData(DataFormats.FileDrop, false);
foreach (string arquivo in Arquivo)
{
MessageBox.Show(arquivo);
string[] allLines = File.ReadAllLines(arquivo);
string line = string.Empty;
if (allLines.Length >= 1)
{
line = allLines[0];
}
string Diretorio = @"C:CommunicAlt" + line;
MessageBox.Show(Diretorio);
if (!Directory.Exists(Diretorio))
{
Directory.CreateDirectory(Diretorio);
}
Path.ChangeExtension(arquivo, ".zip");
ZipFile.ExtractToDirectory(arquivo, Diretorio);     //<--Here

我解决了,问题是:zip存档有一行新行,其中包含用于创建目录的文本,但是如果存档上的行数不同,Visual Studio 将无法提取它 drom 默认...所以它不会提取。 解决方案是保持zip存档不变,并使用配置信息创建一个新文件。

最新更新