• (原创)C# 压缩解压那些事儿


    吐槽:

    搜狗推广API的报告服务太坑爹了!!!

    搜狗推广API的报告服务太坑爹了!!!

    搜狗推广API的报告服务太坑爹了!!!

    搜狗的太垃圾了,获取下来的压缩包使用正常方式无法解压!!没有专门的API技术支持群,客服电话一直显示占线、、、我qnmd!

    正文:

      最近公司要求,再做一个自动下载压缩包、解压压缩包、读取压缩包中csv文件的功能,本以为是很稳定的事情了,没想到还有这么多插曲,今天特意记录下来看看

    实现方式

     目前比较流行的方式无外乎四种

     1.使用ICSharpCode.SharpZipLib (Nuget中搜索)

      正常的zip压缩包可以解压,主要方法:DeCompressionZip  使用ZipInputStream流+ZipEntry获取文件,循环的形式使用FileStream创建文件即可

     2.使用DotNetZip (Nuget中搜索)

      简单易用

    1  using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile(zipFilePath + extension))
    2             {
    3                 zip.ExtractAll(zipFilePath, Ionic.Zip.ExtractExistingFileAction.OverwriteSilently);
    4             }
    View Code

     3.使用微软自带的System.IO.Compression(貌似是.Net Framework4.5之后才支持)

       更简单

    1 System.IO.Compression.ZipFile.ExtractToDirectory(zipPath, extractPath);
    View Code

     4.安装WinRar软件,调用注册表的地址进行解压

     1  if (WinRarHelper.ExistSetupWinRar)
     2             {
     3                 if (WinRarHelper.ExistSetupWinRar)
     4                 {
     5                     try
     6                     {
     7                         WinRarHelper.UnCompressRar(zipPath, extractPath);
     8                     }
     9                     catch (Win32Exception e1)
    10                     {
    11                         //Response.Write(e1.Message + "<br>" + "服务器端禁止是我们网站使用WinRar应用执行!<br>");
    12 
    13                     }
    14                     catch (Exception e1)
    15                     {
    16                         //Response.Write(e1.Message);
    17                     }
    18                 }
    19             }
    View Code
  • 相关阅读:
    C#中 ()=>的含义
    大白话系列之C#委托与事件讲解(三)
    大白话系列之C#委托与事件讲解(二)
    C#委托
    php.ini
    mac 登陆phpmyadmin 提示 mysqli_real_connect(): (HY000/2002): No such file or directory
    mac 安装 mysql 5.7
    Mac下的PHP的配置与运行
    phpstorm 2019.1 mac
    激活 phpstorm2019.1 win10
  • 原文地址:https://www.cnblogs.com/mailaidedt/p/6406470.html
Copyright © 2020-2023  润新知