基本信息
源码名称:C# 将多个文件打包压缩成一个ZIP文件包
源码大小:0.38M
文件格式:.zip
开发语言:C#
更新时间:2016-03-28
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
多文件打压成一个ZIP包

调用方法:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ZipRar
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            //打包
            List<string> listFile = new List<string>();
            listFile.Add(System.Environment.CurrentDirectory   @"\Data\EquimentInfo.ini");
            listFile.Add(System.Environment.CurrentDirectory   @"\Data\BuildingEnergy.ini");
            listFile.Add(System.Environment.CurrentDirectory   @"\Data\parse.ini");
            listFile.Add(System.Environment.CurrentDirectory   @"\Data\terminalinfo.ini");
            listFile.Add(System.Environment.CurrentDirectory   @"\Data\publicdatapara.db");
            listFile.Add(System.Environment.CurrentDirectory   @"\Data\VarInfo.db");
            commonUtil.ZipFile(listFile, System.Environment.CurrentDirectory   @"\Data\Config.zip", 2);
        }
    }
}




下为核心代码:


/// <summary>
        /// 压缩duo个文件
        /// </summary>
        /// <param name="fileToZip">要进行压缩的文件名</param>
        /// <param name="zipedFile">压缩后生成的压缩文件名</param>
        public static void ZipFile(List<string> fileToZipS, string zipedFile, int Level)
        {

            foreach (string fileToZip in fileToZipS)
            {
                //如果文件没有找到,则报错
                if (!File.Exists(fileToZip))
                {
                    throw new System.IO.FileNotFoundException("指定要压缩的文件: " fileToZip " 不存在!");
                    break;
                }
            }
            using (FileStream ZipFile = File.Create(zipedFile))
            {
                using (ZipOutputStream ZipStream = new ZipOutputStream(ZipFile))
                {
                    foreach (string fileToZip in fileToZipS)
                    {
                        string fileName = fileToZip.Substring(fileToZip.LastIndexOf("\\") 1);

                        using (FileStream fs = File.OpenRead(fileToZip))
                        {
                            byte[] buffer = new byte[fs.Length];
                            fs.Read(buffer, 0, buffer.Length);
                            fs.Close();

                            ZipEntry ZipEntry = new ZipEntry(fileName);
                            ZipStream.PutNextEntry(ZipEntry);
                            ZipStream.SetLevel(Level);

                            ZipStream.Write(buffer, 0, buffer.Length);
                        }
                    }
                    ZipStream.Finish();
                    ZipStream.Close();
                }

            }
        }