/// <summary>
/// 压缩
/// </summary>
/// <param name="srcFile"></param>
/// <param name="zipFile"></param>
public static void Compress(string srcFile, string zipFile)
{
FileStream fsSrc = File.Open(srcFile, FileMode.Open);
FileStream fsDes = File.Create(zipFile);
GZipStream compress = new GZipStream(fsDes, CompressionMode.Compress);
try
{
byte[] buffer = new byte[fsSrc.Length];
fsSrc.Read(buffer, 0, (int)fsSrc.Length);
compress.Write(buffer, 0, buffer.Length);
compress.Flush();
}
finally
{
compress.Close();
fsDes.Close();
fsSrc.Close();
}
}
/// <summary>
/// 解压
/// </summary>
/// <param name="zipFile"></param>
/// <param name="desFile"></param>
public static void Decompress(string zipFile, string desFile)
{
FileStream fsSrc = File.Open(zipFile, FileMode.Open);
GZipStream compress = new GZipStream(fsSrc, CompressionMode.Decompress);
FileStream fsDes = File.Create(desFile);
try
{
byte[] buffer = new byte[1024 * 10];
int i = 0;
while ((i = compress.Read(buffer, 0, buffer.Length)) > 0)
{
if (i > 0)
{
fsDes.Write(buffer, 0, i);
}
}
fsDes.Flush();
}
finally
{
fsDes.Close();
compress.Close();
fsSrc.Close();
}
}