Sub unzip()
Dim filename As String = "Test.zip"
Dim zip As New ICSharpCode.SharpZipLib.Zip.ZipFile(filename)
Dim ze As ICSharpCode.SharpZipLib.Zip.ZipEntry
'create directories
For Each ze In zip
If ze.IsDirectory Then
If Not IO.Directory.Exists(ze.Name) Then IO.Directory.CreateDirectory(ze.Name)
End If
Next
'extract files
For Each ze In zip
If ze.IsFile Then
Dim stream As IO.Stream = zip.GetInputStream(ze)
Dim fs As New IO.FileStream(ze.Name, FileMode.Create, FileAccess.Write, FileShare.None)
Dim buffer(2047) As Byte, read As Integer
Do
read = stream.Read(buffer, 0, buffer.Length)
If read > 0 Then
fs.Write(buffer, 0, read)
Else : Exit Do
End If
Loop
fs.Close()
End If
Next
End Sub