首页 > 技术文章 > 压缩案例

lrzb 2019-11-05 17:43 原文

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//
using ICSharpCode.SharpZipLib.Zip;

namespace 压缩
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            //创建压缩文件
            using(ZipFile zip = ZipFile.Create(@"D:\test.zip"))
            {
                zip.BeginUpdate();
                zip.SetComment("这是我的压缩包");
                zip.Add(@"D:\1.txt");//添加一个文件
                zip.AddDirectory(@"D:\2");//添加一个文件夹(这个方法不会压缩文件夹里的文件)
                zip.Add(@"D:\2\2.txt");//添加文件夹里的文件
                zip.CommitUpdate();
            }
          
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //修改压缩包
            using (ZipFile zip=new ZipFile(@"D:\test.zip"))
            {
                zip.BeginUpdate();
                zip.Add(@"D:\2.txt");
                zip.CommitUpdate();//提交修改
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            //快速压缩目录,包括目录下的所有文件
            (new FastZip()).CreateZip(@"D:\test2.zip", @"D:\Notepad++", true, "");
            //递归压缩,只能压缩文件夹
        }

        private void button4_Click(object sender, EventArgs e)
        {
            //快速解压
            (new FastZip()).ExtractZip(@"D:\test2.zip", @"D:\解压目录", "");
        }

        private void button5_Click(object sender, EventArgs e)
        {
            //删除
            using (ZipFile zip = new ZipFile(@"D:\test.zip"))
            {
                zip.BeginUpdate();
                zip.Delete(@"D:\2.txt");              
                zip.CommitUpdate();//提交修改
            }
        }
    }
}



推荐阅读