C#实现解压GZip文件的方法
本文实例讲述了C#实现解压GZip文件的方法。分享给大家供大家参考。具体实现方法如下:
publicvoidungzip(stringpath,stringdecomPath,booloverwrite)
{
//foroverwritingpurposes
if(File.Exists(decomPath))
{
if(overwrite)
{
File.Delete(decomPath);
}
else
{
thrownewIOException("Thedecompressedpathyouspecifiedalreadyexistsandcannotbeoverwritten.");
}
}
//createourfilestreams
GZipStreamstream=newGZipStream(newFileStream(path,FileMode.Open,FileAccess.ReadWrite),CompressionMode.Decompress);
FileStreamdecompressedFile=newFileStream(decomPath,FileMode.OpenOrCreate,FileAccess.Write);
//datarepresentsabytefromthecompressedfile
//it'ssetthrougheachiterationofthewhileloop
intdata;
while((data=stream.ReadByte())!=-1)//iteratesoverthedataofthecompressedfileandwritesthedecompresseddata
{
decompressedFile.WriteByte((byte)data);
}
//closeourfilestreams
decompressedFile.Close();
stream.Close();
}
希望本文所述对大家的C#程序设计有所帮助。