//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. 用jQuery实现轮播图效果,js中的排他思想

    ---恢复内容开始--- jQuery实现轮播图不用单独加载. 思路: a. 通过$("#id名");选择需要的一类标签,获得一个伪数组 b.由于是伪数组的原因,而对数组的处理最多 ...

  2. Binary Logging Formats

    [Binary Logging Formats] The server uses several logging formats to record information in the binary ...

  3. NPM安装依赖速度慢问题

    [NPM安装依赖速度慢问题] npm config set registry http://registry.npm.taobao.org 参考:http://blog.csdn.net/rongbo ...

  4. JVisual 相关help参数

    The launcher has determined that the parent process has a console and will reuse it for its own cons ...

  5. JMeter学习(二十四)HTTP属性管理器HTTP Cookie Manager、HTTP Request Defaults(转载)

    转载自 http://www.cnblogs.com/yangxia-test Test Plan的配置元件中有一些和HTTP属性相关的元件:HTTP Cache Manager.HTTP Autho ...

  6. Oracle 入门

    一.安装Oracle 11g 服务端 服务端安装教程:https://jingyan.baidu.com/article/363872eccfb9266e4aa16f5d.html 二.安装客户端 客 ...

  7. sqlserver 死锁相关

    参考 https://www.cnblogs.com/fuyuanming/p/5783421.html -- 查询死锁 select request_session_id spid, OBJECT_ ...

  8. MVC中html编码与否

    MVCHtmlString可以不进行编码. 例子:string s=‘<a style="color:red">链接</a>’: 1.@s,直接输出< ...

  9. Redis集群部署及命令

    一.简介 redis集群是一个无中心的分布式Redis存储架构,可以在多个节点之间进行数据共享,解决了Redis高可用.可扩展等问题. redis集群提供了以下两个好处: 将数据自动切分(split) ...

  10. PHP遍历数组常用方式(for,foreach,while,指针等等)

    1使用for循环遍历数组 count($arr)用于统计数组元素个数         for循环只能用于遍历,纯索引数组!!如果存在关联数组,count统计两种数组的总个数         使用for ...