直接一个静态函数搞定
/// <summary>
/// 压缩文件ZIP
/// </summary>
/// <param name="zipFile">ZIP文件</param>
/// <param name="files">文件列表</param>
public static void ZipFiles(string zipFile, List<string> files)
{
var crc = new Crc32();
var s = new ZipOutputStream(File.Create(zipFile));
s.SetLevel(6);
foreach (var file in files)
{
var fs = File.OpenRead(file);
var buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
var entry = new ZipEntry(Path.GetFileName(file)) { DateTime = DateTime.Now, Size = fs.Length };
fs.Close();
crc.Reset();
crc.Update(buffer);
entry.Crc = crc.Value;
s.PutNextEntry(entry);
s.Write(buffer, 0, buffer.Length);
}
s.Finish();
s.Close();
}