C# DeflateStream Read

Description

DeflateStream Read Reads a number of decompressed bytes into the specified byte array.

Syntax

DeflateStream.Read has the following syntax.


public override int Read(
  byte[] array,//from  w  ww  . j  ava2  s  .c o m
  int offset,
  int count
)

Parameters

DeflateStream.Read has the following parameters.

  • array - The array to store decompressed bytes.
  • offset - The byte offset in array at which the read bytes will be placed.
  • count - The maximum number of decompressed bytes to read.

Returns

DeflateStream.Read method returns The number of bytes that were read into the byte array.

Example

The following example shows how to compress and decompress bytes by using the Read and Write methods.


//from  w ww .j a v  a  2  s. c o  m

using System;
using System.Text;
using System.IO;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        UnicodeEncoding uniEncode = new UnicodeEncoding();

        byte[] bytesToCompress = uniEncode.GetBytes("example text to compress and decompress");
        Console.WriteLine("starting with: " + uniEncode.GetString(bytesToCompress));

        using (FileStream fileToCompress = File.Create("examplefile.gz"))
        {
            using (DeflateStream compressionStream = new DeflateStream(fileToCompress, CompressionMode.Compress))
            {
                compressionStream.Write(bytesToCompress, 0, bytesToCompress.Length);
            }
        }

        byte[] decompressedBytes = new byte[bytesToCompress.Length];
        using (FileStream fileToDecompress = File.Open("examplefile.gz", FileMode.Open))
        {
            using (DeflateStream decompressionStream = new DeflateStream(fileToDecompress, CompressionMode.Decompress))
            {
                decompressionStream.Read(decompressedBytes, 0, bytesToCompress.Length);
            }
        }

        Console.WriteLine("ending with: " + uniEncode.GetString(decompressedBytes));
    }
}

The code above generates the following result.





















Home »
  C# Tutorial »
    System.IO.Compression »




DeflateStream
GZipStream
ZipArchive
ZipArchiveEntry
ZipFile
ZipFileExtensions