2010-07-08 4 views

Répondre

3

Avez-vous essayé cette interface C# pour 7zip: http://www.codeproject.com/KB/DLL/cs_interface_7zip.aspx

[modifier] On dirait que cela a été déjà répondu: Free compression library for C# which supports 7zip (LZMA)

autres bibliothèques:

http://www.eggheadcafe.com/tutorials/aspnet/064b41e4-60bc-4d35-9136-368603bcc27a/7zip-lzma-inmemory-com.aspx

http://sevenzipsharp.codeplex.com/

http://www.7-zip.org/sdk.html - Sur le site officiel donc sans doute préférable d'utiliser cette

4

au lieu de la version binaire dont vous avez besoin le code source. Ceci peut être obtenu en tant que LZMA SDK.

Vous y trouverez un dossier CS qui contient une implémentation C# de l'algorithme pour les fichiers 7zip.

4

beaucoup de réponses données ci-dessus, mais j'utilisé ce code ci-dessous mention zip ou décompressez un fichier en utilisant vous 7zip

devez avoir une application 7zip dans votre système.

 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 
       } 
     } 

pour créer un fichier zip

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

C'est un projet sur lequel je travaille actuellement. Au début, j'ai téléchargé le SDK LZMA à partir du site 7-zip et j'ai écrit du code en utilisant la bibliothèque C# de Pavlov pour compresser. J'ai bien travaillé! Puis j'ai réalisé que j'avais simplement des fichiers LZMA individuels sur mes mains, pas un fichier d'archive 7z. Pavlov ne fournit aucune bibliothèque C# pour cela. J'ai donc décidé à la place qu'il serait plus facile de faire un appel de processus à 7z.exe. Merci pour votre échantillon, qui me permettra de commencer. –

Questions connexes