C# System.IO.InvalidDataException zip 文件

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


jeck猫
浏览 1115回答 1
1回答

qq_遁去的一_1

我解决了它,问题是:zip 存档有一个带有文本的新行来创建目录,但是如果存档上的行数与默认值不同,则 Visual Studio 无法提取它...所以它不会提取。解决方案是保持 zip 存档不变,并使用配置信息创建一个新文件。
打开App,查看更多内容
随时随地看视频慕课网APP