作者:Kation 版权所有,仿冒必究,哈~ Imports ICSharpCode.SharpZipLib.Zip Public Class QuickZIP Implements IDisposable Private _ZIP As ZipFile Private _Disposed As Boolean = False ''' <summary> ''' 打开ZIP文件 ''' </summary> ''' <param name="FileName">ZIP文件地址(没有的会自动创建)</param> ''' <remarks></remarks> Sub New(ByVal FileName As String) If IO.File.Exists(FileName) = True Then _ZIP = New ZipFile(FileName) Else _ZIP = ZipFile.Create(FileName) End If End Sub ''' <summary> ''' 实例化QuickZIP,从ZIPFile继承 ''' </summary> ''' <param name="ZIPFile">ZIPFile</param> ''' <remarks></remarks> Sub New(ByVal ZIPFile As ZipFile) _ZIP = ZIPFile End Sub ''' <summary> ''' 解压缩文件 ''' </summary> ''' <param name="Name">文件名(可以是包含文件夹的地址)</param> ''' <param name="Directory">解压到的目录</param> ''' <remarks></remarks> Sub Extract(ByVal Name As String, ByVal Directory As String) If _Disposed = False And _ZIP.GetEntry(Name).IsFile Then If IO.Directory.Exists(Directory) = False Then IO.Directory.CreateDirectory(Directory) End If Dim File As New IO.FileStream(Directory & "/" & Name, IO.FileMode.CreateNew) Dim B As Byte() = FileByte(Name) File.Write(B, 0, Len(B)) File.Close() File.Dispose() File = Nothing B = Nothing End If End Sub ''' <summary> ''' 设置ZIP文件的密码 ''' </summary> ''' <value></value> ''' <remarks></remarks> WriteOnly Property Password() As String Set(ByVal value As String) _ZIP.Password = value End Set