Imports System.IO
Imports Xceed.Compression
Imports Xceed.Compression.Formats
' If you do not want the inner stream to be closed by the GZipCompressedStream
' then set the GZipCompressedStream's Transient property to true.
'
' The compressed data was compressed using the Compress example
Dim sourceStream = New MemoryStream(compressedData)
Dim gzip As New GZipCompressedStream(sourceStream)
Dim destinationStream As New FileStream("d:\data.txt", FileMode.OpenOrCreate)
' 32K at a time.
Dim buffer(32768) As Byte
Dim bytesRead As Integer = 0
' Loop until we have nothing more to read from the source stream
Do
bytesRead = gzip.Read(buffer, 0, buffer.Length)
If bytesRead > 0 Then
destinationStream.Write(buffer, 0, bytesRead)
End If
Loop Until bytesRead = 0
' Close the destination stream and the GZipCompressedStream.
'
' Because the GZipCompressedStream will automatically close the source
' memory stream, there is no need to call Close once we are done with the stream.
destinationStream.Close()
gzip.Close()
using System.IO;
using Xceed.Compression;
using Xceed.Compression.Formats;
// Because the GZipCompressedStream will automatically close the source
// memory stream, there is no need to declare the memory stream within a using
// statement or to call Close once we are done with the stream.
//
// If you do not want the inner stream to be closed by the GZipCompressedStream
// then set the GZipCompressedStream's Transient property to true.
//
// The compressed data was compressed using the Compress example
MemoryStream sourceStream = new MemoryStream( compressedData );
using( GZipCompressedStream gzip = new GZipCompressedStream( sourceStream ) )
{
using( FileStream destinationStream = new FileStream( @"d:\data.txt", FileMode.OpenOrCreate ) )
{
// 32K at a time.
byte[] buffer = new byte[ 32768 ];
int bytesRead = 0;
// Loop until we have nothing more to read from the source stream.
while( ( bytesRead = gzip.Read( buffer, 0, buffer.Length ) ) > 0 )
{
destinationStream.Write( buffer, 0, bytesRead );
}
}
}