博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

c# 压缩 解压 7z

Posted on 2020-12-29 16:38  sky410  阅读(537)  评论(0编辑  收藏  举报

c# 压缩 解压 7z

利用7z.dll进行压缩和解压代码如下:

using System;
using SevenZip.Sdk;
using SevenZip.Sdk.Compression;
using SevenZip;
using System.IO;
 
namespace DCRM.Common
{
     
    public class CompressorHelper
    {
        public static void Compressor(string p_7zdllPath,string compressDicrectoryName)
        {
            SevenZipCompressor.SetLibraryPath(p_7zdllPath);
            SevenZipCompressor tmp = new SevenZipCompressor();
            string fileName=Path.GetDirectoryName(compressDicrectoryName)+".7z";
            tmp.CompressDirectory(compressDicrectoryName,fileName);
        }
         
        public static void UnCompressor(string p_7zdllPath,string compressFilesFullName,string des)
        {
            SevenZipExtractor.SetLibraryPath(p_7zdllPath);
            using (SevenZipExtractor tmp = new SevenZipExtractor(compressFilesFullName))
            {
                for (int i = 0; i < tmp.ArchiveFileData.Count; i++)
                {
                    tmp.ExtractFiles(des, tmp.ArchiveFileData[i].Index);
                }
                 
            }
  
        }
    }
}