.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
 
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
david stephan

Home >> Code Snippets >> Encryption & Decryption >> Post New Resource Bookmark and Share   

 Subscribe to Code Snippets

Compress and extract one file using Gzipstream

Posted By:Hiren Soni       Posted Date: August 31, 2010    Points: 10    Category: Encryption & Decryption    URL: http://www.dotnetspark.com  

Compress and extract one file using Gzipstream
 

 

using System.Security.Cryptography;
 
private void button1_Click(object sender, EventArgs e)
    {

        // Path to file to compress and decompress.
        string fpath = @"e:\hello.exe";
        FileInfo f1 = new FileInfo(fpath);
        Compress(fi);
        string fpath2 = @"e:\hello.gz";
        FileInfo f2 = new FileInfo(fpath2);
        Decompress(f2);
    }
    public static void Compress(FileInfo fi)
    {
        // Get the stream of the source file.

        using (FileStream inFile = fi.OpenRead())
        {
            // Prevent compressing hidden and
            // already compressed files.
            if ((File.GetAttributes(fi.FullName)
               & FileAttributes.Hidden)
             != FileAttributes.Hidden & fi.Extension != ".gz")
            {
                // Create the compressed file.
                using (FileStream outFile =
                                File.Create(fi.FullName + ".gz"))
                {
                    using (GZipStream Compress =
                          new GZipStream(outFile,
                          CompressionMode.Compress))
                    {
                        // Copy the source file into
                        // the compression stream.
                        inFile.CopyTo(Compress);
                        Console.WriteLine("Compressed {0} from {1} to {2} bytes.",
                            fi.Name, fi.Length.ToString(), outFile.Length.ToString());
                    }
                }
            }
        }
    }


    public static void Decompress(FileInfo fi)
    {
        // Get the stream of the source file.
        using (FileStream inFile = fi.OpenRead())
        {
            // Get original file extension, for example
            // "doc" from report.doc.gz.
            string curFile = fi.FullName;
            string origName = curFile.Remove(curFile.Length -
                   fi.Extension.Length);



            //Create the decompressed file.
            using (FileStream outFile = File.Create(origName))
            {

                using (GZipStream Decompress = new GZipStream(inFile, CompressionMode.Decompress))
                {

                    // Copy the decompression stream

                    // into the output file.

                    Decompress.CopyTo(outFile);

                    Console.WriteLine("Decompressed: {0}", fi.Name);

                }

            }

        }

    }



     

Further Readings:

Responses

No response found. Be the first to respond this post

Post Comment

You must Sign In To post reply
Find More code samples in C#, ASP.Net, Vb.Net and more Here

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend