繁体   English   中英

C#.net4.5解包Zip文件

[英]C# .net4.5 Unpack Zip file

我已经制作了一个自动更新系统,在我下载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);
                }
            }

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

            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);
                    }
                }
            }

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM