代码
///
<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();
}
}
/// 压缩
/// </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();
}
}