c#压缩文件和批量压缩文件

引用ICSharpCode.SharpZipLib.dll

 

 1 /// <summary>
 2         /// 压缩文件
 3         /// </summary>
 4         /// <param name="dirpath">压缩后存放地址</param>
 5         /// <param name="filepath">需要压缩文件的全路径</param>
 6         public static void ZipFile(string dirpath,string filepath)
 7         {
 8 
 9             string filefullname = Path.GetFileName(filepath);//获取需要压缩的文件的全名称
10             string filename = Path.GetFileNameWithoutExtension(filepath);//获取需要压缩的文件不含扩展名的名称
11             FastZip fastZip = new FastZip();//创建压缩对象
12             fastZip.CreateZip(dirpath+"\\"+ filename+".zip", dirpath, false, filefullname);//创建压缩文件
13                 
14         }
15        /// <summary>
16        /// 批量压缩文件
17        /// </summary>
18        /// <param name="dirpath">需要批量压缩的文件夹路径</param>
19         public static void ZipDirFile(string dirpath)
20         {
21             DirectoryInfo dir = new DirectoryInfo(dirpath);//创建文件夹对象
22             FileSystemInfo[] fielinfo= dir.GetFileSystemInfos();//获取目录下所有文件
23             foreach (FileSystemInfo item in fielinfo)
24             {
25                 if (item is DirectoryInfo)//判断是否时文件夹
26                 {
27                     ZipDirFile(item.FullName);//是文件夹就递归调用自己
28                 }
29                 else
30                 {
31                     ZipFile(dirpath, item.FullName);//是文件就压缩
32                 }
33             }
34         }

 

posted on 2019-12-01 11:40  leizhui  阅读(542)  评论(0编辑  收藏  举报