最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#調(diào)用7z實現(xiàn)文件的壓縮與解壓

 更新時間:2020年12月07日 11:06:14   作者:農(nóng)碼一生  
這篇文章主要介紹了C#調(diào)用7z實現(xiàn)文件的壓縮與解壓,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下

1.關(guān)于7z

首先在這里先介紹一下7z壓縮軟件,7z是一種主流的 壓縮格式,它擁有極高的壓縮比。在計算機(jī)科學(xué)中,7z是一種可以使用多種壓縮算法進(jìn)行數(shù)據(jù)壓縮的檔案格式。主要有以下特點:

  • 來源且模塊化的組件結(jié)構(gòu)
  • 最高的壓縮比
  • 強(qiáng)大的AES-256加密
  • 可更改配置的壓縮算法
  • 支持操大文件
  • 支持多線程壓縮
  • 具有多種壓縮文件格式

2.解壓縮實現(xiàn)代碼

實現(xiàn)對文件的解壓縮方法是通過cmd命令,調(diào)用7z程式通過cmd命令實現(xiàn)對文件進(jìn)行解壓和壓縮的操作,具體實現(xiàn)代碼如下:

  • 壓縮代碼

壓縮的cmd命令:"7Z a -tzip " + zipPath + "  " + filePath;

public ExecutionResult CompressFile(string filePath, string zipPath)//運(yùn)行DOS命令
    {
      ExecutionResult exeRes = new ExecutionResult();
      exeRes.Status = true;
      try
      {
        Process process = new Process();
        process.StartInfo.FileName = "cmd.exe";
        string message = "";
        string command1 = "c:";
        string command2 = @"cd\";
        string command3 = @"cd C:\Progra~1\7-Zip";
        string command4 = "";


        command4 = "7Z a -tzip " + zipPath + " " + filePath;

        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardInput = true;
        process.StartInfo.RedirectStandardOutput = true;
        process.StartInfo.RedirectStandardError = true;
        process.StartInfo.CreateNoWindow = true;
        process.Start();
        process.StandardInput.WriteLine(command1);
        process.StandardInput.WriteLine(command2);
        process.StandardInput.WriteLine(command3);
        process.StandardInput.WriteLine(command4);
        process.StandardInput.WriteLine("exit");
        message = process.StandardOutput.ReadToEnd(); //要等壓縮完成后才可以來抓取這個壓縮文件

        process.Close();
        if (!message.Contains("Everything is Ok"))
        {
          exeRes.Status = false;
          exeRes.Message = message;
        }
        else
        {
          exeRes.Anything = zipPath;
        }
      }
      catch (Exception ex)
      {
        exeRes.Message = ex.Message;
      }

      return exeRes;
    }
  • 解壓代碼

解壓的cmd命令:"7Z x -tzip " + zipPath + " -o" + filePath + " -y";

public ExecutionResult DeCompressFile( string zipPath, string filePath)//運(yùn)行DOS命令
    {
      ExecutionResult exeRes = new ExecutionResult();
      exeRes.Status = true;
      try
      {
        Process process = new Process();
        process.StartInfo.FileName = "cmd.exe";
        string message = "";
        string command1 = "c:";
        string command2 = @"cd\";
        string command3 = @"cd C:\Progra~1\7-Zip";
        string command4 = "";


        command4 = "7Z x -tzip " + zipPath + " -o" + filePath + " -y";

        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardInput = true;
        process.StartInfo.RedirectStandardOutput = true;
        process.StartInfo.RedirectStandardError = true;
        process.StartInfo.CreateNoWindow = true;
        process.Start();
        process.StandardInput.WriteLine(command1);
        process.StandardInput.WriteLine(command2);
        process.StandardInput.WriteLine(command3);
        process.StandardInput.WriteLine(command4);
        process.StandardInput.WriteLine("exit");
        //process.WaitForExit();
        message = process.StandardOutput.ReadToEnd();//要等壓縮完成后才可以來抓取這個壓縮文件

        process.Close();
        if (!message.Contains("Everything is Ok"))
        {
          exeRes.Status = false;
          exeRes.Message = message;
        }
        else
        {
          exeRes.Anything = filePath;
        }
      }
      catch (Exception ex)
      {
        exeRes.Message = ex.Message;
      }

      return exeRes;
    }

以上就是C#調(diào)用7z實現(xiàn)文件的壓縮與解壓的詳細(xì)內(nèi)容,更多關(guān)于c# 文件壓縮與解壓的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#線性漸變畫刷LinearGradientBrush用法實例

    C#線性漸變畫刷LinearGradientBrush用法實例

    這篇文章主要介紹了C#線性漸變畫刷LinearGradientBrush用法,實例分析了線性漸變畫刷LinearGradientBrush的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • C#基于UDP進(jìn)行異步通信的方法

    C#基于UDP進(jìn)行異步通信的方法

    這篇文章主要介紹了C#基于UDP進(jìn)行異步通信的方法,實例分析了C#基于UDP實現(xiàn)異步通信的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • C#如何實現(xiàn)對sql server數(shù)據(jù)庫的增刪改查

    C#如何實現(xiàn)對sql server數(shù)據(jù)庫的增刪改查

    本文的主要內(nèi)容是C#實現(xiàn)對sql server數(shù)據(jù)庫的增刪改查,示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-08-08
  • C#寫日志類實例

    C#寫日志類實例

    這篇文章主要介紹了C#寫日志類,實現(xiàn)將日志信息寫入文本文件的功能,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • C#中LINQ to Objects查詢的實現(xiàn)

    C#中LINQ to Objects查詢的實現(xiàn)

    LINQ to Objects是LINQ技術(shù)在C#中的一種應(yīng)用,它專門用于對內(nèi)存中的對象集合進(jìn)行查詢和操作,本文就詳細(xì)的介紹C#中LINQ to Objects查詢的實現(xiàn),感興趣的可以了解一下
    2023-08-08
  • C#實現(xiàn)基于XML配置MenuStrip菜單的方法

    C#實現(xiàn)基于XML配置MenuStrip菜單的方法

    這篇文章主要介紹了C#實現(xiàn)基于XML配置MenuStrip菜單的方法,涉及C#使用XML配置MenuStrip菜單的原理與實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • C#?TaskScheduler任務(wù)調(diào)度器的實現(xiàn)

    C#?TaskScheduler任務(wù)調(diào)度器的實現(xiàn)

    本文主要介紹了C#?TaskScheduler任務(wù)調(diào)度器的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2023-05-05
  • 深入了解c# 設(shè)計模式之簡單工廠模式

    深入了解c# 設(shè)計模式之簡單工廠模式

    這篇文章主要介紹了c# 設(shè)計模式之簡單工廠模式的的相關(guān)資料,文中代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • C# Winform實現(xiàn)波浪滾動效果

    C# Winform實現(xiàn)波浪滾動效果

    這篇文章主要為大家詳細(xì)介紹了C# Winform實現(xiàn)波浪滾動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • c#中使用BackgroundWorker的實現(xiàn)

    c#中使用BackgroundWorker的實現(xiàn)

    本文主要介紹了c#中使用BackgroundWorker的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評論

泸州市| 厦门市| 鹤壁市| 冷水江市| 和顺县| 上栗县| 崇州市| 忻城县| 陵川县| 临清市| 都昌县| 新宁县| 吴川市| 信丰县| 城口县| 青田县| 昔阳县| 安新县| 兰州市| 郁南县| 兴化市| 山阳县| 平凉市| 高密市| 封丘县| 天气| 潮州市| 太原市| 南华县| 邵阳市| 唐山市| 余干县| 安福县| 麻阳| 荆门市| 安新县| 永定县| 富源县| 宁国市| 淳化县| 永登县|