Article will teach
you about how to Compress the data with GZipStream Class of .net
CSharp .net 2.0/3.5
:: Implementation ::
simple compression and decompression of data we will use GZipStream
class of the .NET.
In this article, I will explain how to
compress and decompress data by building small sample application.
So lets import the following name spaces in your
Here when working with GZipStream we need to specify
Stream to Open for writing as first argument and CompressionMode as
second argument that specifies weather we want to Compress the Data or
Decompress the data we can do this by Specifying enumeration
CompressMode.Compress or CompressMode.Decompress as second argument of
the GZipStream Class object.
Here in example I am compressing
textdata into file test.zip file and reread it from the created test.zip
private void btnCompressData_Click(object sender, EventArgs e)
//Write Data To Zip File
string data = txtData.Text;
GZipStream outStream = new GZipStream(File.OpenWrite("test.zip"), CompressionMode.Compress);
StreamWriter sw = new StreamWriter(outStream);
MessageBox.Show("Data Compressed to file test.zip!!");
txtData.Text = "";
:: explanation of above code ::
In first line of Compressing Data Part I have stored the data to be written in variable "data" from textBox now in second line creates a new GZipStream class and As constructor argument of that object of GZipStream we have passed File.OpenWrite("test.zip") which will return FileStream object associated with "test.zip" file and in Second argument we have passed CompressionModel.Compress as we want to compress the data ..
now We have created one StreamWriter object to write the data to GZipStream object we have by using Write() method of the StreamWriter class we can write data to the GZipStream object
and finally we have closed the StreamWriter Object to end the writing
private void btnDecompressData_Click(object sender, EventArgs e)
//Read the Data From zip
string ReadData = "";
GZipStream instream = new GZipStream(File.OpenRead("test.zip"), CompressionMode.Decompress);
StreamReader reader = new StreamReader(instream);
ReadData = reader.ReadToEnd();
txtData.Text = ReadData;
MessageBox.Show("Data Read Successfully!!");
Same kind of logic is there for reading data also we open the test.zip file using GZipStream object and read the data in stream using ReadToEnd() method and displayed the read data to the TextBox again. and closed the StreamReader object.
That's it :)
:: Conclusion ::
This article explains how to compress and decompress data using GZipStream class of .NET.