Read Method
See Also  Example
Xceed.Compression.Formats Assembly > Xceed.Compression.Formats Namespace > FormattedCompressedStream Class : Read Method

buffer
An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count) replaced by the bytes read from the current source.
offset
The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
count
The maximum number of bytes to be read from the current stream.
Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

Syntax

Visual Basic (Declaration) 
Overrides Public Function Read( _
   ByVal buffer() As Byte, _
   ByVal offset As Integer, _
   ByVal count As Integer _
) As Integer
C# 
public override int Read( 
   byte[] buffer,
   int offset,
   int count
)

Parameters

buffer
An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count) replaced by the bytes read from the current source.
offset
The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
count
The maximum number of bytes to be read from the current stream.

Return Value

The total number of bytes read into the buffer. This may be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.

Example

The following example demonstrates how to read compressed data from a MemoryStream and decompress it to a FileStream using the GZipCompressedStream class.
Visual BasicCopy Code
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()
C#Copy Code
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 );
           }
     }
}

Requirements

Target Platforms: Windows 2000 Service Pack 3; Windows 98; Windows 98 Second Edition; Windows ME; Windows Server 2003; Windows Vista Business; Windows Vista Business 64-bit edition; Windows Vista Enterprise; Windows Vista Enterprise 64-bit edition; Windows Vista Home Basic; Windows Vista Home Basic 64-bit edition; Windows Vista Home Premium; Windows Vista Home Premium 64-bit edition; Windows Vista Starter; Windows Vista Ultimate; Windows Vista Ultimate 64-bit edition; Windows XP Service Pack 2

Supported Frameworks: Microsoft .NET Framework version 2.0; Microsoft .NET Framework version 3.0

See Also