SevenZipShaper压缩类

//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("6666"); 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=0) { SevenZipCompressor tmp = new SevenZipCompressor(); if (volumeSize > 0) { 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=0) { SevenZipCompressor tmp = new SevenZipCompressor(); if (VolumeSize > 0) { tmp.VolumeSize = 10 * 1024 * 1024; } tmp.CompressDirectory(directoryPath, compressToPath); } } }

 

转载于:https://www.cnblogs.com/kexb/p/9512650.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值