//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. Template literals

    [Template literals] Template literals are string literals allowing embedded expressions. You can use ...

  2. openjdk1.8 源码地址

    http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/656ab3b39178/src/

  3. 解决VMware下CentOS连不上网络问题

    https://blog.csdn.net/wangmx1993328/article/details/80897533

  4. spark streaming集成kafka接收数据的方式

    spark streaming是以batch的方式来消费,strom是准实时一条一条的消费.当然也可以使用trident和tick的方式来实现batch消费(官方叫做mini batch).效率嘛,有 ...

  5. 在window下搭建Vue.Js开发环境(转)

    nodejs官网http://nodejs.cn/下载安装包,无特殊要求可本地傻瓜式安装,这里选择2017-5-2发布的 v6.10.3 cmd命令行: node -v //显示node版本 v6.1 ...

  6. contextlib 上下文管理器

    在Python中,读写文件这样的资源要特别注意,必须在使用完毕后正确关闭它们.正确关闭文件资源的一个方法是使用try...finally: try: f = open('/path/to/file', ...

  7. flash Air 在同一个目录下面创建txt,写入字

    import flash.filesystem.*; var file:File=new File(File.applicationDirectory.nativePath + '/HelloWorl ...

  8. 164. Maximum Gap (Array; sort)

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...

  9. Java项目--俄罗斯方块

    Java项目--俄罗斯方块 百度盘链接 链接:http://pan.baidu.com/s/1mhQ9SYc 密码:9ujo 一.心得 二.游戏实例 游戏截图 目录结构 三.代码 1.主界面 Tetr ...

  10. 程序员的数学 三册数学,概率统计、线性代数pdf

    程序员的数学1 2012.pdf 2012版 程序员的数学2 概率统计 ,平冈和幸,(日)堀玄著 ,P4006 2015.pdf 2015版 程序员的数学3-线性代数 2016.pdf 2016版 如 ...