我需要使用VB.Net从ZIP包中提取文件。
如何在不使用任何外部库的情况下完成这项工作?
答案 0 :(得分:0)
是的,您可以使用内置shell功能来解压缩文件。使用的方法是CopyHere,this link包含VBScript和VB6示例以及可以使用的标志值。
要在VB.Net中使用此功能,请向Microsoft Shell Controls和Automation添加COM引用,并添加类似于以下内容的代码:
Public Sub ExtractAll(sSourceFile As String, sTargetDir As String)
If Not IO.File.Exists(sSourceFile) Then
Throw New ArgumentException("Source file does not exist", "sSourceFile")
End If
If Not IO.Directory.Exists(sTargetDir) Then
IO.Directory.CreateDirectory(sTargetDir)
End If
Dim oShell As New Shell32.Shell
Dim oOutputDir = oShell.NameSpace(sTargetDir)
Dim oInput = oShell.NameSpace(sSourceFile)
' The value of 4 indicates you don't want the progress dialog to be shown
oOutputDir.CopyHere(oInput.Items, 4)
End Sub
答案 1 :(得分:0)
Zipstorer(http://zipstorer.codeplex.com/)是一个压缩/解压缩.zip文件的类,它是c#,但如果你不想依赖第三方组件,这是一个很好的解决方案