DeCompress the file using asp.net
In previous post we seen how to compress the file this will helpful when the file is large you can
compress the file.
Now we will see how to Decompress the file
Button_Click event.
DecompressFile(Server.MapPath("~/Decompressed/FindEmai_onTextfile.zip"),Server.MapPath("~/Decompressed/FindEmai_onTextfile.txt"));
Here i just swap the filename so it may confuse so use some different path(Folder) or filename
Decompress Method
public static void DecompressFile(string sourceFileName, string destinationFileName)
{
FileStream outStream;
FileStream inStream;
//Check if the source file exist.
if (File.Exists(sourceFileName))
{
//Read teh input file
inStream = File.OpenRead(sourceFileName);
//Check if the destination file exist else create once
outStream = File.Open(destinationFileName, FileMode.OpenOrCreate);
//Now create a byte array to hold the contents of the file
//Now increase the filecontent size more since the compressed file
//size will always be less then the actuak file.
byte[] fileContents = new byte[(inStream.Length * 100)];
//Read the file and decompress
GZipStream zipStream = new GZipStream(inStream, CompressionMode.Decompress, false);
//Read the contents to this byte array
int totalBytesRead = zipStream.Read(fileContents, 0, fileContents.Length);
outStream.Write(fileContents, 0, totalBytesRead);
//Now close all the streams.
zipStream.Close();
inStream.Close();
outStream.Close();
}
}