Monday 5 March 2012

How To Decompress File Using Dot Net Application

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();
        }
    }

No comments:

Post a Comment