SharpCompress 压缩解压
public class SharpCompressHelper
{
public static void UnRAR(string srcUrl,string targetUrl)
{
using (Stream stream = File.OpenRead(srcUrl))
{
var reader = ReaderFactory.Open(stream);
while (reader.MoveToNextEntry())
{
if (!reader.Entry.IsDirectory)
{
SharpCompress.Common.ExtractionOptions option = new ExtractionOptions() { Overwrite = true , ExtractFullPath =true};
reader.WriteEntryToDirectory(targetUrl, option);
}
}
}
} /// <summary>
/// 压缩文件夹
/// </summary>
/// <param name="targetFile">压缩文件夹路径</param>
/// <param name="zipFile">压缩后路径</param>
public void Zips(string targetFile, string zipFile)
{
using (var archive = ZipArchive.Create())
{
ZipRecursion(targetFile, archive);
FileStream fs_scratchPath = new FileStream(zipFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
byte[] bytes = new byte[fs_scratchPath.Length];
fs_scratchPath.Read(bytes, , bytes.Length);
fs_scratchPath.Close();
MemoryStream ms = new MemoryStream(bytes);
archive.SaveTo(ms, CompressionType.GZip);
fs_scratchPath.Close();
fs_scratchPath.Dispose();
}
}
/// <summary>
/// 压缩递归
/// </summary>
/// <param name="fullName">压缩文件夹目录</param>
/// <param name="archive">压缩实体</param>
public void ZipRecursion(string fullName, ZipArchive archive)
{
DirectoryInfo di = new DirectoryInfo(fullName);//获取需要压缩的文件夹信息
foreach (var fi in di.GetDirectories())
{
if (Directory.Exists(fi.FullName))
{
ZipRecursion(fi.FullName, archive);
}
}
foreach (var f in di.GetFiles())
{
archive.AddEntry(f.FullName, f.OpenRead());//添加文件夹中的文件
}
}
}
SharpCompress 压缩解压的更多相关文章
- 使用C#压缩解压rar和zip格式文件
为了便于文件在网络中的传输和保存,通常将文件进行压缩操作,常用的压缩格式有rar.zip和7z,本文将介绍在C#中如何对这几种类型的文件进行压缩和解压,并提供一些在C#中解压缩文件的开源库. 在C#. ...
- Linux 压缩解压
压缩解压 ------------------------------------------ linux 下所有的压缩格式,WinRAR 都支持 gzip .gz 格式 压缩文件: gzip 文件名 ...
- SAPCAR 压缩解压软件的使用方法
SAPCAR 是 SAP 公司使用的压缩解压软件,从 SAP 网站下载的补丁包和小型软件基本都是扩展名为 car 或 sar 的,它们都可以用 SAPCAR 来解压.下面是它的使用说明: 用法: 创建 ...
- 对称加密之AES、压缩解压以及压缩加密解密解压综合实战
AES 压缩解压 压缩加密解密解压 对称加密: 就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密.密钥是控制加密及解密过程的指令.算法是一组规则,规定如何进行加密和解密. 因此加密的安 ...
- linux笔记:linux常用命令-压缩解压命令
压缩解压命令:gzip(压缩文件,不保留原文件.这个命令不能压缩目录) 压缩解压命令:gunzip(解压.gz的压缩文件) 压缩解压命令:tar(打包压缩目录或者解压压缩文件.打包的意思是把目录打包成 ...
- .NET使用ICSharpCode.SharpZipLib压缩/解压文件
SharpZipLib是国外开源加压解压库,可以方便的对文件进行加压/解压 1.下载ICSharpCode.SharpZipLib.dll,并复制到bin目录下 http://www.icsharpc ...
- linux驱动系列之文件压缩解压小节(转)
转至网页:http://www.jb51.net/LINUXjishu/43356.html Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通 ...
- Linux的压缩解压命令快速上手——解压篇
在Linux系统中,压缩文件通常是先将若干文件(包括目录)打包成一个tar文件,然后再调用压缩程序将tar文件压缩成相应的压缩包,这也就是为什么Linux系的压缩包的后缀通常都是像tar.gz,tar ...
- RAR压缩解压命令
RAR压缩解压命令 这几天一直没空更新博客,现在补上: 先介绍一下rar的命令格式及相关参数含义(摘自rar): 用法: rar <命令> -<开关 1> -<开关 ...
随机推荐
- Markdown用法说明(用此篇博客做示例)
一份好的博客文档离不开一个优秀的编辑器.借此篇文章介绍一下编写该博客markdown的语法,后续再增加介绍其他语法,方便大家写出更好更漂亮的文档.点击左上角github,有主题源码哦 一份好的博客文档 ...
- js继承的方式及其优缺点
js继承方法 前因:ECMAScript不支持接口继承,只支持实现继承 一.原型链 概念:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针,让 ...
- Elasticsearch Metric聚合
首先查看index文档信息 $ curl -XGET "http://172.16.101.55:9200/_cat/indices?v" 输出 health status ind ...
- 设置mysql 5.7 可以外部访问的办法
这里记录一下. 一台服务器上面的mysql出现了 无法外面连的情况解决办法: . 先尝试在宿主机上面登录 mysql -uroot -p 输入密码,可以登录. 然后 use mysql # 切换数据库 ...
- Spring 最常用的 7 大类注解,史上最强整理!
随着技术的更新迭代,Java5.0开始支持注解.而作为java中的领军框架spring,自从更新了2.5版本之后也开始慢慢舍弃xml配置,更多使用注解来控制spring框架. 而spring的的注解那 ...
- FFmpeg4.0笔记:封装ffmpeg的解码功能类CDecode
Github https://github.com/gongluck/FFmpeg4.0-study/tree/master/Cff CDecode.h /********************** ...
- 更换composer镜像源为阿里云
说一说我为什么会更换镜像源,今天我准备给公司的项目添加一个 Excel 导出的功能,需要 PhpSpreadsheet 插件来实现我的功能.输入命令发现提示我 Authentication req ...
- Laravel-admin form 表单是增加或者修改
Laravel-admin 实现 form 表单是增加或者修改的三种方法,应用情景:1.新增或者修改 form 展示的表单不同:2.新增或者保存前后回调进行其他的操作 1. use Illuminat ...
- 版本控制器之SVN(二)
安装重启以后,在菜单栏找到TortoiseSVN程序 启动以后 点击: 填写相应的信息: 可以看到项目的相关信息 选中仓库,右键 > Browse Repository 进入如下界面: 可以打开 ...
- USB fuzzing
简介 最近看一些USB fuzzing方面的东西,总结一下.主要是软件方面的工作. vUSBf 文章在这里:https://www.blackhat.com/docs/eu-14/materials/ ...