2010-07-08 63 views

回答

4

而不是你需要的二進制版本源代碼。

這可以得到LZMA SDK

在那裏您會找到一個文件夾CS,其中包含C#實現的7zip文件算法。

4

很多答案上面給出的,但我用這個下面提及的代碼壓縮或使用7zip的

解壓縮文件,則必須在系統中有7zip的應用。

 public void ExtractFile(string source, string destination) 
     { 
      // If the directory doesn't exist, create it. 
      if (!Directory.Exists(destination)) 
       Directory.CreateDirectory(destination); 

      string zPath = @"C:\Program Files\7-Zip\7zG.exe"; 
// change the path and give yours 
      try 
      { 
       ProcessStartInfo pro = new ProcessStartInfo(); 
       pro.WindowStyle = ProcessWindowStyle.Hidden; 
       pro.FileName = zPath; 
       pro.Arguments = "x \"" + source + "\" -o" + destination; 
       Process x = Process.Start(pro); 
       x.WaitForExit(); 
      } 
      catch (System.Exception Ex) { 
       //DO logic here 
       } 
     } 

創建壓縮文件

public void CreateZip() 
{ 
    string sourceName = @"d:\a\example.txt"; 
    string targetName = @"d:\a\123.zip"; 
    ProcessStartInfo p = new ProcessStartInfo(); 
    p.FileName = @"C:\Program Files\7-Zip\7zG.exe"; 
    p.Arguments = "a -tgzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9"; 
    p.WindowStyle = ProcessWindowStyle.Hidden; 
    Process x = Process.Start(p); 
    x.WaitForExit(); 
} 
+0

這是我正在處理的一個項目。起初,我從7-zip網站下載了LZMA SDK,並使用Pavlov的C#庫編寫了一些代碼進行壓縮。工作很棒!然後我意識到我手上只有單獨的LZMA文件,而不是7z的存檔文件。 Pavlov沒有爲此提供任何C#庫。所以我只是決定只是對7z.exe進行一個進程調用是最簡單的。謝謝你的樣品,這將使我開始。 – 2015-11-25 20:15:48

相關問題