/// <summary>
/// 文件夹下的文件以及子目录的文件进行压缩(多层递归)
/// </summary>
/// <param name="dirPath">需要压缩的文件夹路径("C:\\data")</param>
/// <param name="GzipFileName">压缩后保存的路径("C:\\data\\test.zip")</param>
public static void CompressDirectory(string dirPath, string GzipFileName)
{
//创建压缩文件
FileStream pCompressFile = new FileStream(GzipFileName, FileMode.Create);
using (ZipOutputStream zipoutputstream = new ZipOutputStream(pCompressFile))
{
Crc32 crc = new Crc32();
Dictionary<string, DateTime> fileList = GetAllFies(dirPath);
foreach (KeyValuePair<string, DateTime> item in fileList)
{
FileStream fs = new FileStream(item.Key.ToString(), FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
//