首先添加System.IO.Com[pression
注意DeflateStream类不能用来压缩大小超过4GB的文件。
GZipStream同样不能用来压缩大小超过4GB的文件。
public void compressFile(string srcFile,string dstFile)
{
if (!File.Exists(srcFile))
{
throw new FileNotFoundException();
}
byte [] buffer;
try
{
using (FileStream srcStream=new FileStream(srcFile,FileMode.Open,FileAccess.Read,FileShare.Read))
{
buffer=new byte[srcStream.Length];
int checkcounter=srcStream.Read(buffer,0,buffer.Length);
using(FileStream dstStream=new FileStream(dstFile,FileMode.OpenOrCreate,FileAccess.Write))
{
using(GZipStream comStream=new GZipStream(dstStream,CompressionMode.Compress,true))
{
comStream.Write(buffer,0,buffer.Length);
}
}
}
}
catch (Expection ex)
{ex.source="函数compressFile() ";
throw (ex);
}
}
以上代买摘自《Visual C#2005文件IO与数据存取秘诀》机械工业出版社