GZipStream
using the specified CompressionMode
and the specified CompressionLevel
.
Visual Basic (Declaration) | |
---|---|
Public Function New( _ ByVal stream As Stream, _ ByVal mode As CompressionMode, _ ByVal level As CompressionLevel _ ) |
Visual Basic (Usage) | ![]() |
---|---|
Dim stream As Stream Dim mode As CompressionMode Dim level As CompressionLevel Dim instance As New GZipStream(stream, mode, level) |
C# | |
---|---|
public GZipStream( Stream stream, CompressionMode mode, CompressionLevel level ) |
C++/CLI | |
---|---|
public: GZipStream( Stream^ stream, CompressionMode mode, CompressionLevel level ) |
Parameters
- stream
- The stream to be read or written while deflating or inflating.
- mode
- Indicates whether the
GZipStream
will compress or decompress. - level
- A tuning knob to trade speed for effectiveness.
This example shows how to use a
GZipStream
to compress a file into a .gz file.
C# | ![]() |
---|---|
using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) { using (var raw = System.IO.File.Create(fileToCompress + ".gz")) { using (Stream compressor = new GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression)) { byte[] buffer = new byte[WORKING_BUFFER_SIZE]; int n; while ((n= input.Read(buffer, 0, buffer.Length)) != 0) { compressor.Write(buffer, 0, n); } } } } |
Visual Basic | ![]() |
---|---|
Using input As Stream = File.OpenRead(fileToCompress) Using raw As FileStream = File.Create(fileToCompress & ".gz") Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression) Dim buffer As Byte() = New Byte(4096) {} Dim n As Integer = -1 Do While (n <> 0) If (n > 0) Then compressor.Write(buffer, 0, n) End If n = input.Read(buffer, 0, buffer.Length) Loop End Using End Using End Using |
The CompressionMode
(Compress or Decompress) also establishes the "direction" of the stream. A GZipStream
with CompressionMode.Compress
works only through Write()
. A GZipStream
with CompressionMode.Decompress
works only through Read()
.
Target Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Windows Vista, Windows Server 2008 family