如何解压缩.gz文件并使用c#将文件保存在特定文件夹中? 
  
 
这是我第一次遇到.gz文件.我已经在搜索如何解压缩但它对我不起作用.它没有解压缩特定文件夹中的.gz文件.我不想使用任何第三方应用程序.
任何人都可以给我一个如何解压缩它的示例代码.然后将文件保存在文件夹中.谢谢.
解决方法
 以下来自 
 MSDN的示例显示了如何使用GZipStream类压缩和解压缩文件目录. 
  
  
 
        namespace zip
{
    public class Program
    {
        public static void Main()
        {
            string directoryPath = @"c:\users\public\reports";
            DirectoryInfo directorySelected = new DirectoryInfo(directoryPath);
            foreach (FileInfo filetoCompress in directorySelected.GetFiles())
            {
                Compress(filetoCompress);
            }
            foreach (FileInfo filetoDecompress in directorySelected.GetFiles("*.gz"))
            {
                Decompress(filetoDecompress);
            }
        }
        public static void Compress(FileInfo filetoCompress)
        {
            using (FileStream originalFileStream = filetoCompress.OpenRead())
            {
                if ((File.GetAttributes(filetoCompress.FullName) & FileAttributes.Hidden) != FileAttributes.Hidden & filetoCompress.Extension != ".gz")
                {
                    using (FileStream compressedFileStream = File.Create(filetoCompress.FullName + ".gz"))
                    {
                        using (GZipStream compressionStream = new GZipStream(compressedFileStream,CompressionMode.Compress))
                        {
                            originalFileStream.copyTo(compressionStream);
                            Console.WriteLine("Compressed {0} from {1} to {2} bytes.",filetoCompress.Name,filetoCompress.Length.ToString(),compressedFileStream.Length.ToString());
                        }
                    }
                }
            }
        }
        public static void Decompress(FileInfo filetoDecompress)
        {
            using (FileStream originalFileStream = filetoDecompress.OpenRead())
            {
                string currentFileName = filetoDecompress.FullName;
                string newFileName = currentFileName.Remove(currentFileName.Length - filetoDecompress.Extension.Length);
                using (FileStream decompressedFileStream = File.Create(newFileName))
                {
                    using (GZipStream decompressionStream = new GZipStream(originalFileStream,CompressionMode.Decompress))
                    {
                        decompressionStream.copyTo(decompressedFileStream);
                        Console.WriteLine("Decompressed: {0}",filetoDecompress.Name);
                    }
                }
            }
        }
    }
}