in the dotnet framework there are two method for compressing data 1) GZip 2)Deflate
here i am using GZip Stream (System.IO.Compression).
Steps
1) Create Simple Web Application (asp.net with C#). 2) put below control in to page. 2.1) Button (id=”btnCompress”) 3) put below code in to click event of button.
//create one folder in the project (txt) //get the folder physical path string filepath = Server.MapPath("txt"); //create file StreamWriter sw = new StreamWriter(filepath + @"\1.txt"); sw.WriteLine("we compress this file after few min."); sw.Close(); //open 1.txt file FileStream objFile = File.OpenRead(filepath + @"\" + "1.txt"); //create zip file FileStream objZipFile = File.Create(filepath + @"\zip.gz"); //this is compress stream System.IO.Compression.GZipStream objGZip = new System.IO.Compression.GZipStream(objZipFile, CompressionMode.Compress); //Read Bytes From Destination File int bytes = objFile.ReadByte(); while (bytes != -1) { //write byte in Compress File objGZip.WriteByte((byte)bytes); bytes = objFile.ReadByte(); } objGZip.Close(); objZipFile.Close();
Enjoy...
Jay Ganesh
Tags: .Net, Zip, Create Zip, Compression, C#, C#.Net