C#解压GZip文件代码

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

        public void ungzip(string path, string decomPath, bool overwrite)
        {
            //for overwriting purposes
            if (File.Exists(decomPath))
            {
                if (overwrite)
                {
                    File.Delete(decomPath);
                }
                else
                {
                    throw new IOException("The decompressed path you specified already exists and cannot be overwritten.");
                }
            }
            //create our file streams
            GZipStream stream = new GZipStream(new FileStream(path, FileMode.Open, FileAccess.ReadWrite), CompressionMode.Decompress);
            FileStream decompressedFile = new FileStream(decomPath, FileMode.OpenOrCreate, FileAccess.Write);
            //data represents a byte from the compressed file
            //it's set through each iteration of the while loop
            int data;
            while ((data = stream.ReadByte()) != -1) //iterates over the data of the compressed file and writes the decompressed data
            {
                decompressedFile.WriteByte((byte)data);
            }
            //close our file streams
            decompressedFile.Close();
            stream.Close();
        }