C#解压GZip文件代码

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
        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();
        }

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:Android DP和PX之间的转换

下一篇:C#利用反射简化给类字段赋值