Mega Code Archive

 
Categories / VB.Net / File Directory
 

DeflateStream Class

Imports System Imports System.IO Imports System.IO.Compression Public Class DeflateTest    Public Shared Function ReadAllBytesFromStream(stream As Stream, buffer() As Byte) As Integer       Dim offset As Integer = 0       Dim totalCount As Integer = 0       While True          Dim bytesRead As Integer = stream.Read(buffer, offset, 100)          If bytesRead = 0 Then             Exit While          End If          offset += bytesRead          totalCount += bytesRead       End While       Return totalCount    End Function    Public Shared Sub DeflateCompressDecompress(filename As String)         Dim infile As FileStream         Try             infile = New FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read)             Dim buffer(infile.Length - 1) As Byte             Dim count As Integer = infile.Read(buffer, 0, buffer.Length)          If count <> buffer.Length Then                 infile.Close()                 Return          End If          infile.Close()          Dim ms As New MemoryStream()          Dim compressedzipStream As New DeflateStream(ms, CompressionMode.Compress, True)          compressedzipStream.Write(buffer, 0, buffer.Length)             compressedzipStream.Close()          ms.Position = 0          Dim zipStream As New DeflateStream(ms, CompressionMode.Decompress)          Dim decompressedBuffer(buffer.Length + 100) As Byte          Dim totalCount As Integer = DeflateTest.ReadAllBytesFromStream(zipStream, decompressedBuffer)          zipStream.Close()         Catch e As Exception         End Try    End Sub          Public Shared Sub Main(ByVal args() As String)         DeflateCompressDecompress("c:\\a.txt")     End Sub 'Main End Class 'DeflateTest