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) | Copy Code |
|---|---|
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
GZipStreamwill 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# | Copy Code |
|---|---|
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 | Copy Code |
|---|---|
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