博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用ICSharpCode.SharpZipLib.dll实现简单加解压 转
阅读量:6993 次
发布时间:2019-06-27

本文共 2287 字,大约阅读时间需要 7 分钟。

本文主要提供了一个利用ICSharpCode.SharpZipLib.dll实现简单加解压的功能类,ICSharpCode.SharpZipLib.dll可以从取得。因为现阶段只需要对文件夹进行压缩,所以提供接口的功能并不全面,以后有空或有需要的时候会进行扩充。

using System;

using System.Collections.Generic;
using System.Text;
using ICSharpCode.SharpZipLib.Zip;
namespace Common.IO
{
    public static class ZipHandler
    {
        public static void ZipDirectory(string folderToZip, string zipedFileName)
        {
            ZipDirectory(folderToZip, zipedFileName, string.Empty, truestring.Empty, string.Empty, true);
        }
        public static void ZipDirectory(string folderToZip, string zipedFileName, string password)
        {
            ZipDirectory(folderToZip, zipedFileName, password, truestring.Empty, string.Empty, true);
        }
        /// <summary>
        
/// 压缩文件夹
        
/// </summary>
        
/// <param name="folderToZip">需要压缩的文件夹</param>
        
/// <param name="zipedFileName">压缩后的Zip完整文件名(如D:\test.zip)</param>
        
/// <param name="isRecurse">如果文件夹下有子文件夹,是否递归压缩</param>
        
/// <param name="password">解压时需要提供的密码</param>
        
/// <param name="fileRegexFilter">文件过滤正则表达式</param>
        
/// <param name="directoryRegexFilter">文件夹过滤正则表达式</param>
        
/// <param name="isCreateEmptyDirectories">是否压缩文件中的空文件夹</param>
        public static void ZipDirectory(string folderToZip, string zipedFileName, string password, bool isRecurse, string fileRegexFilter, string directoryRegexFilter, bool isCreateEmptyDirectories)
        {
            FastZip fastZip = new FastZip();
            fastZip.CreateEmptyDirectories = isCreateEmptyDirectories;
            fastZip.Password = password;
            fastZip.CreateZip(zipedFileName, folderToZip, isRecurse, fileRegexFilter, directoryRegexFilter);
        }
        public static void UnZipFile(string zipedFileName, string targetDirectory)
        {
            UnZipFile(zipedFileName, targetDirectory, string.Empty, string.Empty);
        }
        public static void UnZipFile(string zipedFileName, string targetDirectory, string password)
        {
            UnZipFile(zipedFileName, targetDirectory, password, string.Empty);
        }
        /// <summary>
        
/// 解压缩文件
        
/// </summary>
        
/// <param name="zipedFileName">Zip的完整文件名(如D:\test.zip)</param>
        
/// <param name="targetDirectory">解压到的目录</param>
        
/// <param name="password">解压密码</param>
        
/// <param name="fileFilter">文件过滤正则表达式</param>
        public static void UnZipFile(string zipedFileName, string targetDirectory, string password, string fileFilter)
        {
            FastZip fastZip = new FastZip();
            fastZip.Password = password;
            fastZip.ExtractZip(zipedFileName, targetDirectory, fileFilter);
        }
    }
}

转载地址:http://yhbvl.baihongyu.com/

你可能感兴趣的文章
React Native 常用命令
查看>>
找回数据库密码
查看>>
db2 command list
查看>>
Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)...
查看>>
Java学习笔记:字符串处理
查看>>
动态设置控件的高度以及在父控件里的位置
查看>>
MySQL的事务处理以及隔离级别
查看>>
常见的Web攻击手段——XSS攻击
查看>>
CentOS最小安装之后做的一些小事
查看>>
【jQuery】----jQuery 多个库之间的冲突 (二)
查看>>
SSL证书卸载与SSI高级应用
查看>>
[Material Design] MaterialButton 效果进阶 动画自动移动进行对齐效果
查看>>
Redis5.0.4复制
查看>>
SurfaceView必知
查看>>
EventDOM:事件DOM
查看>>
Sonar 配置代码扫描规则 与 质量配置,设置各个语言默认的扫描规则
查看>>
mybatis生成UUID主键,且获取当前新增的UUID主键
查看>>
让OSChina的Windows Phone客户端支持后退键
查看>>
HTML -对象 object 元素
查看>>
hibernate常见问题总结
查看>>