C#压缩文件

2021-04-27 09:27

阅读:722

标签:bytes   llb   sharp   col   压缩文件   .sh   string   update   lis   

使用SharpZipLib插件

using ICSharpCode.SharpZipLib.Zip;

 public static void BatchDownFile(Liststring> urlList)
        {
            /*删除之前的临时文件*/
            string path = Path.Combine(privateDiskBasePath,"tempZip");
            DirectoryInfo dirInfo = new DirectoryInfo(path);
            if (dirInfo.Exists)
            {
                dirInfo.Delete(true);
            }
            dirInfo.Create();
            string fileName = Path.Combine(path, "打包文件.zip");
            using (ZipFile zip = ZipFile.Create(fileName))
            {
                zip.BeginUpdate();
                zip.SetComment("压缩包");

                foreach (var item in urlList)
                {
                    if (File.Exists(item))//判断是文件还是文件夹
                    {
                        byte[] buffer = null;
                        try
                        {

                            buffer = File.ReadAllBytes(item);
                        }
                        catch
                        {
                        }

                        if (buffer != null && buffer.Length > 0)
                        {
                            StreamDataSource dataSource = new StreamDataSource(buffer);
                            string[] fileNameSplit = item.Split(\\);

                            zip.Add(dataSource, fileNameSplit[fileNameSplit.Length - 1]);
                        }
                    }
                }
                zip.CommitUpdate();
            }
            DownFile("打包文件.zip", fileName);
        }

 

C#压缩文件

标签:bytes   llb   sharp   col   压缩文件   .sh   string   update   lis   

原文地址:http://www.cnblogs.com/tangchun/p/7858344.html


评论


亲,登录后才可以留言!