C#实现解压GZip文件的方法

本文实例讲述了C#实现解压GZip文件的方法。分享给大家供大家参考。具体实现方法如下:

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

希望本文所述对大家的C#程序设计有所帮助。

你可能感兴趣的:(C#实现解压GZip文件的方法)