微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

解压缩文件夹时如何让文件自动覆盖现有文件?

如何解决解压缩文件夹时如何让文件自动覆盖现有文件?

所以我在这方面找到了很多信息,而且有很多不同的方式,这似乎非常令人难以抗拒,因为我还是个新手。所以我的问题是,我如何将这个功能合并到我自己的代码中,它在提取自动覆盖文件而不是给我一个错误?如果不是这样,有人可以将我引向易于理解和教我的教学领域吗?

以下是我当前保存和从内存中提取文件夹的代码

public static void Extract(string nameSpace,string outDirectory,string internalFilePath,string resourceName)
{

    Assembly assembly = Assembly.GetCallingAssembly();

    using (Stream s = assembly.GetManifestResourceStream(nameSpace + "." + (internalFilePath == "" ? "" : internalFilePath + ".") + resourceName))
    using (BinaryReader r = new BinaryReader(s))
    using (FileStream fs = new FileStream(outDirectory + "//" + resourceName,FileMode.OpenorCreate))
    using (BinaryWriter w = new BinaryWriter(fs))
        w.Write(r.ReadBytes((int)s.Length));

}

这是我目前正在开展业务的地方。

private void button2_Click(object sender,EventArgs e)
        {

            Extract("nameSpace",@"outDirectory","internalFilePath","resourceName");

            string sourceZipFile = @"C:\test.zip";
            string targetFolder = @"C:\";
            ZipFile.ExtractToDirectory(sourceZipFile,targetFolder);


            Process process = new Process();
            processstartinfo p= new processstartinfo();
            p.FileName = @"C:\test.zip";

            if ((System.IO.File.Exists(p.FileName)))
            {
                System.IO.File.Delete(p.FileName);
            }


        }

解决方法

使用具有 overwriteFiles 参数的正确重载:

ZipFile.ExtractToDirectory(sourceZipFile,targetFolder,true);

如果您在 Framework

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?