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.