【问题标题】:File Overwrite when Unzipping file from VB.Net从 VB.Net 解压缩文件时文件覆盖
【发布时间】:2017-03-19 06:47:03
【问题描述】:

在处理 ZIP 文件时需要一点帮助,我已经为我的主应用程序制作了一个 autopupdate 应用程序,它工作正常并从服务器下载 Zip 文件,我能够完全提取它,但问题是文件是否存在已经在那里,如果我尝试再次解压缩它,它会显示替换选项,我想避免该选项,只需替换它而不发出警报。请让我知道我该怎么做。

解压代码如下:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim shObj As Object = Activator.CreateInstance(Type.GetTypeFromProgID("Shell.Application"))
    Dim output As Object = shObj.namespace((Application.StartupPath))
    Dim input As Object = shObj.NameSpace((Application.StartupPath + "\temp.zip"))
    output.CopyHere((input.items), 4)
End Sub

【问题讨论】:

    标签: c# vb.net shell zip unzip


    【解决方案1】:

    为什么不使用 ZipFile 类?

    https://msdn.microsoft.com/en-us/library/system.io.compression.zipfile(v=vs.110).aspx

    我已经有一段时间没有使用它了,但据我所知,它会用提取的文件替换旧文件。

    【讨论】:

    • 它在 FW4.5 中可用,在 4 中不可用
    • 找到解决方案为“output.CopyHere((input.items), 16)”,并在没有给出警告消息的情况下替换它。
    • 谢谢 :)
    • @Infirazor :实际上您可以在 .NET 4.0 中使用 ZipFile 类。你只需要引用 dll %SystemRoot%\Microsoft.NET\assembly\GAC_MSIL\System.IO.Compr‌​‌​ession.FileSystem\‌​v4‌​.0_4.0.0.0__b77a‌​5c56‌​1934e089\Syste‌​m.IO.C‌​ompression.F‌​ileSyste‌​m.dll.
    猜你喜欢
    • 2013-08-14
    • 2021-04-28
    • 2015-03-07
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 2010-12-14
    • 1970-01-01
    • 2011-01-23
    相关资源
    最近更新 更多