Click or drag to resize

ZlibStream Class

Represents a Zlib stream for compression or decompression.
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 ZlibStream : Stream

The ZlibStream type exposes the following members.

Constructors
  NameDescription
Public methodCode exampleZlibStream(Stream, CompressionMode)
Create a ZlibStream using the specified CompressionMode.
Public methodCode exampleZlibStream(Stream, CompressionMode, CompressionLevel)
Create a ZlibStream using the specified CompressionMode and the specified CompressionLevel.
Public methodZlibStream(Stream, CompressionMode, Boolean)
Create a ZlibStream using the specified CompressionMode, and explicitly specify whether the captive stream should be left open after Deflation or Inflation.
Public methodCode exampleZlibStream(Stream, CompressionMode, CompressionLevel, Boolean)
Create a ZlibStream 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 propertyFlushMode
This property sets the flush behavior on the stream. Sorry, though, not sure exactly how to describe all the various settings.
Public propertyLength
Reading this property always throws a NotSupportedException.
(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 ZLIB.
Public methodStatic memberCompressString
Compress a string into a byte array using ZLIB.
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 methodRead
Read data from the 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 NotSupportedException.
(Overrides StreamSeek(Int64, SeekOrigin).)
Public methodSetLength
Calling this method always throws a NotSupportedException.
(Overrides StreamSetLength(Int64).)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodStatic memberUncompressBuffer
Uncompress a ZLIB-compressed byte array into a byte array.
Public methodStatic memberUncompressString
Uncompress a ZLIB-compressed 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
Remarks

The ZlibStream is a Decorator on a Stream. It adds ZLIB compression or decompression to any stream.

Using this stream, applications can compress or decompress data via stream Read() and Write() operations. Either compresssion or decompression can occur through either reading or writing. The compression format used is ZLIB, which is documented in IETF RFC 1950, "ZLIB Compressed Data Format Specification version 3.3". This implementation of ZLIB always uses DEFLATE as the compression method. (see IETF RFC 1951, "DEFLATE Compressed Data Format Specification version 1.3.")

The ZLIB format allows for varying compression methods, window sizes, and dictionaries. This implementation always uses the DEFLATE compression method, a preset dictionary, and 15 window bits by default.

This class is similar to DeflateStream, except that it adds the RFC1950 header and trailer bytes to a compressed stream when compressing, or expects the RFC1950 header and trailer bytes when decompressing. It is also similar to the GZipStream.

See Also