C#System.IO.InvalidDataException zip文件

时间:2018-05-18 01:21:41

标签: c# compiler-errors

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

我在我正在编写的代码中收到此错误#34; for fun"当我尝试将zip文件解压缩到一个文件夹时。帮助; - ;

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

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

1 个答案:

答案 0 :(得分:0)

我解决了它,问题是:zip存档有一个带有文本的新行来创建目录,但是如果存档上的行数不同,则visual studio无法提取它......所以它不会被提取出来。 解决方案是保持zip存档不变,并使用配置信息创建一个新文件。