C#.net4.5解包Zip文件

时间:2016-11-27 10:44:43

标签: c# .net zip

我已经制作了一个自动更新系统,在我下载zip文件之后,我想要解压缩。如果我使用简单的解压缩,它的工作。

// System.IO.Compression.ZipFile.ExtractToDirectory(zipPath,extractPath);

但是当我想覆盖文件时,应用程序会一直崩溃。 “mscorlib.dll中发生了'System.IO.IOException'类型的异常,但未在用户代码中处理” “文件名,foldername或标签语法不正确。”

string zipPath = @""+ System.IO.Directory.GetCurrentDirectory() + "/Temp/"+"1.zip";
            string extractPath = @""+ System.IO.Directory.GetCurrentDirectory();

            using (ZipArchive archive = ZipFile.OpenRead(zipPath))
            {
                foreach (ZipArchiveEntry entry in archive.Entries)
                {
                    entry.ExtractToFile(Path.Combine(extractPath, entry.FullName),true);
                }
            }

我无法弄清楚问题是什么。我用的是坏事吗?

1 个答案:

答案 0 :(得分:0)

            string zipPath = @""+ System.IO.Directory.GetCurrentDirectory() + "/Temp/"+ currentupdate+".zip";
            string extractPath = @""+ System.IO.Directory.GetCurrentDirectory() + "/Temp";

            using (ZipArchive archive = ZipFile.OpenRead(zipPath))
            {
                    foreach (ZipArchiveEntry entry in archive.Entries)
                    {
                    string fullPath = Path.Combine(extractPath, entry.FullName);
                    if (String.IsNullOrEmpty(entry.Name))
                    {
                        Directory.CreateDirectory(fullPath);
                    }
                    else
                    {
                       entry.ExtractToFile(fullPath,true);
                    }
                }
            }

这是正确的解决方案。谢谢你的帮助。