The following code wraps the DeflateStream class to compress and decompress a Byte() array.
Imports System.IO
Imports System.IO.Compression
''' <summary>
''' Compresses a Byte() array using the DEFLATE algorithm
''' </summary>
Function Compress(ByVal toCompress As Byte()) As Byte()
' Get the stream of the source file.
Using inputStream As MemoryStream = New MemoryStream(toCompress)
' Create the compressed stream.
Using outputStream As MemoryStream = New MemoryStream()
Using compressionStream As DeflateStream =
New DeflateStream(outputStream, CompressionMode.Compress)
' Copy the source file into the compression stream.
inputStream.CopyTo(compressionStream)
End Using
Compress = outputStream.ToArray()
End Using
End Using
End Function
''' <summary>
''' Decompresses a Byte() array using the DEFLATE algorithm.
''' </summary>
Function Decompress(ByVal toDecompress As Byte()) As Byte()
' Get the stream of the source file.
Using inputStream As MemoryStream = New MemoryStream(toDecompress)
' Create the decompressed stream.
Using outputStream As MemoryStream = New MemoryStream()
Using decompressionStream As DeflateStream =
New DeflateStream(inputStream, CompressionMode.Decompress)
' Copy the decompression stream
' into the output file.
decompressionStream.CopyTo(outputStream)
End Using
Decompress = outputStream.ToArray
End Using
End Using
End Function