Click or drag to resize

GZipStream Class

A class for compressing and decompressing GZIP streams.
Inheritance Hierarchy

Namespace:  Atalasoft.PdfDoc.MidLevel.Ionic.Zlib
Assembly:  Atalasoft.PdfDoc (in Atalasoft.PdfDoc.dll) Version: 11.0.0.0.0.297 (.NET 4.5.2, x86)
Syntax
public class GZipStream : Stream

The GZipStream type exposes the following members.

Constructors
  NameDescription
Public methodCode exampleGZipStream(Stream, CompressionMode)
Create a GZipStream using the specified CompressionMode.
Public methodCode exampleGZipStream(Stream, CompressionMode, CompressionLevel)
Create a GZipStream using the specified CompressionMode and the specified CompressionLevel.
Public methodGZipStream(Stream, CompressionMode, Boolean)
Create a GZipStream using the specified CompressionMode, and explicitly specify whether the stream should be left open after Deflation or Inflation.
Public methodCode exampleGZipStream(Stream, CompressionMode, CompressionLevel, Boolean)
Create a GZipStream using the specified CompressionMode and the specified CompressionLevel, and explicitly specify whether the stream should be left open after Deflation or Inflation.
Top
Properties
  NameDescription
Public propertyBufferSize
The size of the working buffer for the compression codec.
Public propertyCanRead
Indicates whether the stream can be read.
(Overrides StreamCanRead.)
Public propertyCanSeek
Indicates whether the stream supports Seek operations.
(Overrides StreamCanSeek.)
Public propertyCanTimeout
Gets a value that determines whether the current stream can time out.
(Inherited from Stream.)
Public propertyCanWrite
Indicates whether the stream can be written.
(Overrides StreamCanWrite.)
Public propertyComment
The comment on the GZIP stream.
Public propertyCrc32
The CRC on the GZIP stream.
Public propertyFileName
The FileName for the GZIP stream.
Public propertyFlushMode
This property sets the flush behavior on the stream.
Public propertyLength
Reading this property always throws a NotImplementedException.
(Overrides StreamLength.)
Public propertyPosition
The position of the stream pointer.
(Overrides StreamPosition.)
Public propertyReadTimeout
Gets or sets a value, in miliseconds, that determines how long the stream will attempt to read before timing out.
(Inherited from Stream.)
Public propertyTotalIn
Returns the total number of bytes input so far.
Public propertyTotalOut
Returns the total number of bytes output so far.
Public propertyWriteTimeout
Gets or sets a value, in miliseconds, that determines how long the stream will attempt to write before timing out.
(Inherited from Stream.)
Top
Methods
  NameDescription
Public methodBeginRead (Inherited from Stream.)
Public methodBeginWrite (Inherited from Stream.)
Public methodClose
Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Instead of calling this method, ensure that the stream is properly disposed.
(Inherited from Stream.)
Public methodStatic memberCompressBuffer
Compress a byte array into a new byte array using GZip.
Public methodStatic memberCompressString
Compress a string into a byte array using GZip.
Public methodCopyTo(Stream)
Reads the bytes from the current stream and writes them to another stream.
(Inherited from Stream.)
Public methodCopyTo(Stream, Int32)
Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.
(Inherited from Stream.)
Public methodCopyToAsync(Stream)
Asynchronously reads the bytes from the current stream and writes them to another stream.
(Inherited from Stream.)
Public methodCopyToAsync(Stream, Int32)
Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.
(Inherited from Stream.)
Public methodCopyToAsync(Stream, Int32, CancellationToken)
Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.
(Inherited from Stream.)
Public methodCreateObjRef
Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.
(Inherited from MarshalByRefObject.)
Protected methodCreateWaitHandle Obsolete.
Allocates a WaitHandle object.
(Inherited from Stream.)
Public methodDispose
Releases all resources used by the Stream.
(Inherited from Stream.)
Protected methodDispose(Boolean)
Dispose the stream.
(Overrides StreamDispose(Boolean).)
Public methodEndRead (Inherited from Stream.)
Public methodEndWrite (Inherited from Stream.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFlush
Flush the stream.
(Overrides StreamFlush.)
Public methodFlushAsync
Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.
(Inherited from Stream.)
Public methodFlushAsync(CancellationToken)
Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.
(Inherited from Stream.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetLifetimeService
Retrieves the current lifetime service object that controls the lifetime policy for this instance.
(Inherited from MarshalByRefObject.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInitializeLifetimeService
Obtains a lifetime service object to control the lifetime policy for this instance.
(Inherited from MarshalByRefObject.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodMemberwiseClone(Boolean)
Creates a shallow copy of the current MarshalByRefObject object.
(Inherited from MarshalByRefObject.)
Protected methodObjectInvariant Obsolete.
Provides support for a Contract.
(Inherited from Stream.)
Public methodCode exampleRead
Read and decompress data from the source stream.
(Overrides StreamRead(Byte, Int32, Int32).)
Public methodReadAsync(Byte, Int32, Int32)
Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
(Inherited from Stream.)
Public methodReadAsync(Byte, Int32, Int32, CancellationToken)
Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.
(Inherited from Stream.)
Public methodReadByte
Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.
(Inherited from Stream.)
Public methodSeek
Calling this method always throws a NotImplementedException.
(Overrides StreamSeek(Int64, SeekOrigin).)
Public methodSetLength
Calling this method always throws a NotImplementedException.
(Overrides StreamSetLength(Int64).)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodStatic memberUncompressBuffer
Uncompress a GZip'ed byte array into a byte array.
Public methodStatic memberUncompressString
Uncompress a GZip'ed byte array into a single string.
Public methodWrite
Write data to the stream.
(Overrides StreamWrite(Byte, Int32, Int32).)
Public methodWriteAsync(Byte, Int32, Int32)
Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
(Inherited from Stream.)
Public methodWriteAsync(Byte, Int32, Int32, CancellationToken)
Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.
(Inherited from Stream.)
Public methodWriteByte
Writes a byte to the current position in the stream and advances the position within the stream by one byte.
(Inherited from Stream.)
Top
Fields
  NameDescription
Public fieldLastModified
The last modified time for the GZIP stream.
Top
Remarks

The GZipStream is a Decorator on a Stream. It adds GZIP compression or decompression to any stream.

Like the System.IO.Compression.GZipStream in the .NET Base Class Library, the Ionic.Zlib.GZipStream can compress while writing, or decompress while reading, but not vice versa. The compression method used is GZIP, which is documented in IETF RFC 1952, "GZIP file format specification version 4.3".

A GZipStream can be used to decompress data (through Read()) or to compress data (through Write()), but not both.

If you wish to use the GZipStream to compress data, you must wrap it around a write-able stream. As you call Write() on the GZipStream, the data will be compressed into the GZIP format. If you want to decompress data, you must wrap the GZipStream around a readable stream that contains an IETF RFC 1952-compliant stream. The data will be decompressed as you call Read() on the GZipStream.

Though the GZIP format allows data from multiple files to be concatenated together, this stream handles only a single segment of GZIP format, typically representing a single file.

This class is similar to ZlibStream and DeflateStream. ZlibStream handles RFC1950-compliant streams. DeflateStream handles RFC1951-compliant streams. This class handles RFC1952-compliant streams.

See Also