System.IO.Compression 和 ZipFile - 提取并覆盖

2024-05-09

我使用标准 VB.NET 库来提取和压缩文件。它也可以工作,但是当我必须提取并且文件已经存在时,问题就出现了。

我使用的代码

Imports:

Imports System.IO.Compression

崩溃时我调用的方法

ZipFile.ExtractToDirectory(archivedir, BaseDir)

archivedir 和 BaseDir 也已设置,事实上,如果没有要覆盖的文件,它就可以工作。当有问题的时候,问题就来了。

如何在不使用第三方库的情况下覆盖提取中的文件?

(请注意,我使用 System.IO. Compression 和 System.IO. Compression. Filesystem 作为参考)

由于文件位于多个已存在文件的文件夹中,因此我会避免手动

IO.File.Delete(..)

Use 提取到文件 http://msdn.microsoft.com/en-us/library/hh485718.aspx将 overwrite 设置为 true 以覆盖与目标文件同名的现有文件

    Dim zipPath As String = "c:\example\start.zip" 
    Dim extractPath As String = "c:\example\extract" 

    Using archive As ZipArchive = ZipFile.OpenRead(zipPath)
        For Each entry As ZipArchiveEntry In archive.Entries
            entry.ExtractToFile(Path.Combine(extractPath, entry.FullName), True)
        Next 
    End Using 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

System.IO.Compression 和 ZipFile - 提取并覆盖 的相关文章

  • PHP 可以解压缩使用 .NET GZipStream 类压缩的文件吗?

    我有一个 C 应用程序 它与基于 PHP 的 SOAP Web 服务进行通信以进行更新和许可 我现在正在开发一个反馈系统 供用户通过软件自动提交错误和跟踪日志 根据我之前发布的问题 我认为 Web 服务将是实现此目的的最佳方法 最有可能以最
  • WPF DataGrid 排序后滚动到顶部

    我有一个使用数据网格的 Net 4 0 WPF 应用程序 目前 按列排序后 网格的滚动位置保持在排序前的位置 对于此应用程序 我需要在任何排序后滚动到网格顶部 我尝试过像这样处理排序事件 Private Sub myDataGrid Sor
  • 如何在 IIS 中手动配置虚拟目录

    我正在尝试让外部 Visual Studio 解决方案在 Visual Studio Professional 2010 的本地副本中工作 当我打开该解决方案时 我看到一条错误消息 指出本地 IIS URL 尚未配置 我想创建一个虚拟目录吗
  • 实体框架中的 DbSet [重复]

    这个问题在这里已经有答案了 我在实体框架中有以下代码 using var dbc new TestDbContext var data from a in dbc tableList select new a id ToList 当我调试代
  • 有没有办法将对象(及其属性)序列化为 xml?

    创建一个类 将其命名为 FormElement 该类应该具有一些属性 例如它们具有数据元素的元数据 名称 序列号 值 只是一个字符串等 该类具有验证应用程序块验证类类型的属性 我想将其序列化为xml并反序列化 验证类的所有属性 包括验证应用
  • 代码中的.net Access Forms身份验证“超时”值

    我正在向我的应用程序添加注销过期警报 并希望从我的代码访问我的 web config 表单身份验证 超时 值 我有什么办法可以做到这一点吗 我认为您可以从 FormsAuthentication 静态类方法中读取它 这比直接读取 web c
  • Bash 脚本跳过提取受密码保护的档案

    我有一个脚本 它使用命令对某些文件夹中的特定 zip 和 或 tar gz 存档进行批量提取 unzip o zip path d destination folder 不幸的是 当存档受密码保护时 脚本会停止并等待密码输入 有没有办法省略
  • 如何使用 StreamWriter 写入文件?

    在我的 Wpf 应用程序中 我使用一个 Person 类 即基类 它包含一个虚拟方法 SaveData 以及从 Person 继承的其他类 Client 如何重写方法 SaveData 并保留基础数据 类人 public virtual v
  • 最小化文件夹

    我想使用 C 最小化窗口 例如 我已经打开了这条路径E using process start E 我想在某个事件上最小化这条路径 我怎样才能做到这一点 以下示例控制台应用程序代码将最小化在 E 上打开的所有 shell 资源管理器视图 c
  • 按字母顺序对列表进行排序

    我有以下课程 class Detail public Detail details new List
  • 在 ViewModel 中使用 CollectionViewSource 的正确方法

    我使用拖放将数据源对象 数据库模型 绑定到DataGrid 基本上遵循这个例子实体框架与 WPF 的数据绑定 http msdn microsoft com en us data jj574514 通过这个实现 一切都运行良好 XAML
  • 显示对话框而不阻止调用者

    我有一个强大的命名程序集 以前曾有人问过这个问题 但只是出于不同的目的 我有一个表单基类 当实现类在基类上设置属性时IsBusy 我想阻止与表单的所有交互 设置 Enabled false 是不够的 我还想阻止移动 调整大小 关闭等 并且我
  • Global.asax 和 Error.aspx 中的 ASP.NET MVC 错误日志记录

    我正在创建一个 ASP NET MVC 应用程序 我需要在两个地方处理异常 Global asax vb 文件 Public Class MvcApplication Inherits System Web HttpApplication
  • 我可以修改Win7环境以允许.Net程序始终以管理员身份运行吗?

    我们即将推出数百台运行 Windows 7 的新机器 操作系统通过 WDS 安装 因此目前我们可以进行更改并将其 sysprep 到构建中 问题是我们几年前编写的一个 Net 应用程序 它本身会生成一个修改后的命令 shell 该 shel
  • 如何禁用 WebBrowser 控件中的点击声音

    我使用 Javascript 单击网络浏览器控件中的链接 但我不想听到IE的 咔哒 声 有什么办法可以做到这一点吗 P S 我不想更改系统设置 我见过这个 如何仅在您的应用程序中禁用网络浏览器 点击声音 https stackoverflo
  • 这段代码有什么问题。如果用户选择或不选择复选框,为什么它仍然显示 MsgBox? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 无论我是否选择复选框 它仍然会给出
  • 装配和产品版本不匹配

    我正在尝试在 asp net 网站中使用 Ajax 控件工具包 我从之前的一个示例项目中复制了 dll 它有以下详细信息 Assembly Version 3 5 40412 0 File Version 3 5 40412 2 Inter
  • 如何使用 Watin IE 处理 Windows 安全警报对话框

    我正在尝试使用 WatIN IE 实现网站自动化 由于该网站在几次请求后禁止该IP 因此 当IP被禁止时 我设置一个bool ipbanned true 在这种情况下 我想更改IP SetProxy 方法成功更改了 IP 地址和端口 但在下
  • 在哪里使用 EF6 订阅 ObjectMaterialized?

    我正在尝试将我的上下文订阅到以下 OnjectMaterialized 事件this https stackoverflow com a 3756842 2835713 像这样 IObjectContextAdapter this Obje
  • Math.Sin、Math.Cos 和 Math.Tan 精度以及正确显示它们的方法

    我正在用 C 编写一个计算器 textBoxResult是一个文本框 我在其中显示数字 recount是以度为单位获取角度并以弧度为单位返回的函数 我的角度是从texBoxInput public double recount int nu

随机推荐