首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#压缩文件-解压缩文件

c#压缩文件-解压缩文件
EN

Stack Overflow用户
提问于 2015-07-15 17:17:05
回答 1查看 398关注 0票数 1

快速问题:我需要提取压缩文件,并有一个特定的文件提取最后。

更多信息:我知道如何用c# (FW4.5)提取压缩文件。我现在遇到的问题是,我有一个zip文件,里面总是有一个文件名(例如) "myFlag.xml“,还有几个文件。

因为我需要支持一些老的应用程序来监听我要解压缩的文件夹,所以我想确保XML文件总是被解压缩到最后一个文件夹。

是否有类似于zip函数的“排除”功能,可以提取除某个文件之外的所有文件,这样我就可以这样做,然后只提取文件?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-15 17:28:29

您可能会在ZipArchive上尝试一个foreach循环,并排除与您的参数不匹配的所有内容,然后,在循环完成后,提取最后一个文件。

就像这样:

代码语言:javascript
复制
    private void TestUnzip_Foreach()
    {
        using (ZipArchive z = ZipFile.Open("zipfile.zip", ZipArchiveMode.Read))
        {
            string LastFile = "lastFileName.ext";

            int curPos = 0;
            int lastFilePosition = 0;
            foreach (ZipArchiveEntry entry in z.Entries)
            {
                if (entry.Name != LastFile)
                {
                    entry.ExtractToFile(@"C:\somewhere\" + entry.FullName);
                }
                else
                {
                    lastFilePosition = curPos;
                }
                curPos++;
            }
            z.Entries[lastFilePosition].ExtractToFile(@"C:\somewhere_else\" + LastFile);
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31436918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档