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.
As MemoryStream = New MemoryStream(toCompress)
Using inputStream
' Create the compressed stream.
As MemoryStream = New MemoryStream()
Using outputStream As DeflateStream =
Using compressionStream New DeflateStream(outputStream, CompressionMode.Compress)
' Copy the source file into the compression stream.
inputStream.CopyTo(compressionStream)
End Using
Compress = outputStream.ToArray()
End Using
End UsingEnd 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.
As MemoryStream = New MemoryStream(toDecompress)
Using inputStream
' Create the decompressed stream.
As MemoryStream = New MemoryStream()
Using outputStream As DeflateStream =
Using decompressionStream New DeflateStream(inputStream, CompressionMode.Decompress)
' Copy the decompression stream
' into the output file.
decompressionStream.CopyTo(outputStream)
End Using
Decompress = outputStream.ToArray
End Using
End UsingEnd Function