//7z下载或者自己去找个地址 nurget,github之类的 链接:https://pan.baidu.com/s/1__dPu7X5b8Xr_ej9ya7Kdg 密码:q8nw
using SevenZip;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks; namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
//SevenZipCompressorFile(@"D:\TEMP\CLR.7z", @"C:\Users\admin\Desktop\CLR.pdf", 10 * 1024 * 1024);
SevenZipDecompressFile(@"D:\TEMP\CLR.7z", @"d:\temp\CLR\"); //SevenZipCompressorFile(@"d:\Temp\arch111.7z", @"d:\Temp\log.txt", 1024 * 1024 * 10);
//SevenZipDecompressFile(@"d:\Temp\arch111.7z", @"d:\temp\aa1\"); Console.WriteLine("");
Console.Read();
} /// <summary>
/// SevenZipCompressorFile(@"d:\Temp\arch111.7z", @"d:\Temp\log.txt",1024*1024*10);
/// </summary>
/// <param name="compressAfterFileName"></param>
/// <param name="compressBeforeFileName"></param>
/// <param name="volumeSize"></param>
private static void SevenZipCompressorFile(string compressAfterFileName,string compressBeforeFileName,int volumeSize=)
{
SevenZipCompressor tmp = new SevenZipCompressor();
if (volumeSize > )
{ tmp.VolumeSize = volumeSize;
} tmp.CompressFiles(compressAfterFileName,compressBeforeFileName);//CompressFiles
} /// <summary>
/// 解压7z文件 Decompress7zFile(@"D:\Temp\aa.7z", @"d:\temp\aa1\");
/// </summary>
/// <param name="sevenzipFileName">要解压的7z文件在哪里如D:\Temp\aa.7z</param>
/// <param name="decompressFileToPath">解压到哪里如d:\temp\aa1\</param>
public static void SevenZipDecompressFile(string sevenzipFileName,string decompressFileToPath)
{
if (File.Exists(sevenzipFileName))
{
using (SevenZipExtractor tmp = new SevenZipExtractor(sevenzipFileName))
{
tmp.ExtractFiles(decompressFileToPath, tmp.ArchiveFileData.Select(x => x.Index).ToArray());
}
}
else if (File.Exists(sevenzipFileName+".001"))
{
using (SevenZipExtractor tmp = new SevenZipExtractor(sevenzipFileName+".001"))
{
tmp.ExtractFiles(decompressFileToPath, tmp.ArchiveFileData.Select(x => x.Index).ToArray());
}
}
} /// <summary>
/// 7z压缩目录 CompressDirectory(@"C:\Users\admin\Desktop\Export", @"d:\Temp\aa.7z");
/// </summary>
/// <param name="directoryPath">要压缩的目录如C:\Users\admin\Desktop\Export</param>
/// <param name="compressToPath">压缩到哪里如d:\Temp\aa.7z</param>
/// <param name="VolumeSize">每个压缩文件的块大小如果文件较大,可能需要压缩为多个文件如 aa.7z.001,aa.7z.002</param>
public static void SevenZipCompressDirectory(string directoryPath,string compressToPath,int VolumeSize=)
{
SevenZipCompressor tmp = new SevenZipCompressor();
if (VolumeSize > )
{
tmp.VolumeSize = * * ;
}
tmp.CompressDirectory(directoryPath, compressToPath);
}
}
}

SevenZipShaper压缩类的更多相关文章

  1. [原]Sql脚本压缩类。

    精简的美丽 /* * Sql脚本压缩类. * 去掉sql语句中多余的空格,以减少sql脚本的文本长度 * * Author : goldli@163.com * DateTime : 2015/07/ ...

  2. php ZIP压缩类实例分享

    php ZIP压缩类实例分享 <?php $zipfiles =array("/root/pooy/test1.txt","/root/pooy/test2.txt ...

  3. Thinkphp js、css压缩类minify

    说明:Minify 是用PHP5开发的应用,通过遵循一些Yahoo的优化规则来提高网站的性能.它会合并多个CSS或者JavaScript文件,移除一些不必要的空格和注释,进行gzip压缩,并且会设置浏 ...

  4. .NET 4.5 中新提供的压缩类

    Windows8 的开发已经如火如荼开始了,在 Windows8 中提供的 .NET Framework 已经更新到了 4.5 版,其中又增加了一些新的特性,对压缩文件的支持就是其中之一. 在 4.5 ...

  5. Android的图片压缩类ThumbnailUtils

    从Android 2.2开始系统新增了一个缩略图ThumbnailUtils类,位于framework包下的android.media.ThumbnailUtils位置,可以帮助我们从mediapro ...

  6. .NET 4.5 中新提供的压缩类(转载)

    Windows8 的开发已经如火如荼开始了,在 Windows8 中提供的 .NET Framework 已经更新到了 4.5 版,其中又增加了一些新的特性,对压缩文件的支持就是其中之一. 在 4.5 ...

  7. C#zip压缩类

    改造了网上的代码,可以压缩文件夹.指定文件列表(文件和文件夹的混合列表,需要指定子文件夹下需要压缩的文件),注释很详细不做解释 public class ZipHelper { /// <sum ...

  8. Linux压缩和解压缩类指令

    ⒈gzip ①gzip 文件 压缩文件,只能将文件压缩为*.gz文件 ②gunzip 文件.gz 用于解压文件 ⒉zip ①zip [选项] xxx.zip 需要压缩的内容 压缩文件和目录 常用选项: ...

  9. rar压缩类

    using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespa ...

随机推荐

  1. java中map接口hashMap以及Enty之间的用法和关系

    java中map接口hashMap以及Enty之间的转换 首先说的是map接口: Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value ...

  2. The CHAR and VARCHAR Types

    [The CHAR and VARCHAR Types] The CHAR and VARCHAR types are declared with a length that indicates th ...

  3. 手工命令行 搭建 hadoop 和 spark 环境

    环境准备:3台CentOS7,64位,Hadoop2.7需要64位Linux 192.168.20.161  192.168.20.162  192.168.20.163 三台机器分别叫host01. ...

  4. day26 面向对象的常用方法 和 元类的使用

    1. 面向对象中的常用方法 ***** isinstance() # 判断某个对象是不是某个类的实例 # 判断stu对象是不是Student类的实例 是不是子类 issubclass() class ...

  5. angularjs 获取$scope对象

    参考 https://blog.csdn.net/u011974399/article/details/77865293 angular.element("[ng-controller=xx ...

  6. 【pyspider】关于匹配html的数据

    今天刚刚接触pyspider,在调试的时候注意匹配数据可以这样写: <div class="download-wp">         <a data-app-i ...

  7. unity3D OnTriggerEnter和OnCollisionEnter的区别

    1,测试OnTriggerEnter和OnCollisionEnter的区别 测试:如果两个物体A,B 两者都有碰撞体collider(Box Collider,Sphere Collider,Cap ...

  8. TZOJ 3315 买火车票(线段树区间最小值)

    描述 Byteotian州铁道部决定赶上时代,为此他们引进了城市联网.假设城市联网顺次连接着n 个市从1 到n 编号(起始城市编号为1,终止城市编号为n).每辆火车有m个座位且在任何两个运送更多的乘客 ...

  9. 浅谈Java代理一:JDK动态代理-Proxy.newProxyInstance

    浅谈Java代理一:JDK动态代理-Proxy.newProxyInstance java.lang.reflect.Proxy:该类用于动态生成代理类,只需传入目标接口.目标接口的类加载器以及Inv ...

  10. Django的Rbac介绍1

    1.django的权限管理叫做RBAC 我们在百度上查看RBAC的概念如下 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的 ...