我已在我的機器上安裝了7-zip 4.65在C:\ Program files。我想在C#代碼中使用它來壓縮文件。文件名將由用戶動態提供。任何人都可以提供關於如何在C#代碼中使用7zip的示例代碼?示例C#.net代碼用於壓縮文件使用7zip
回答
你有沒有試過7zip的這個C#接口:http://www.codeproject.com/KB/DLL/cs_interface_7zip.aspx
[編輯] 看起來這已經回答了早已:Free compression library for C# which supports 7zip (LZMA)
進一步庫:
http://sevenzipsharp.codeplex.com/
http://www.7-zip.org/sdk.html - 從官方網站,所以可能最好使用此
我想,如果你想使用一個安裝在C有:\ Program Files文件,你可以只使用System.Diagnostics.Process
運行命令行應用程序 - http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx
參數傳遞是一件容易的事。有很多的例子在這裏 - http://www.c-sharpcorner.com/UploadFile/DipalChoksi/ShellCommandsInCS12032005042031AM/ShellCommandsInCS.aspx
很多答案上面給出的,但我用這個下面提及的代碼壓縮或使用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();
}
這是我正在處理的一個項目。起初,我從7-zip網站下載了LZMA SDK,並使用Pavlov的C#庫編寫了一些代碼進行壓縮。工作很棒!然後我意識到我手上只有單獨的LZMA文件,而不是7z的存檔文件。 Pavlov沒有爲此提供任何C#庫。所以我只是決定只是對7z.exe進行一個進程調用是最簡單的。謝謝你的樣品,這將使我開始。 – 2015-11-25 20:15:48
- 1. C#.net代碼用於使用PKZIP壓縮文件
- 2. 使用7zip sdk壓縮文件,但無法使用winrar或7zip解壓縮
- 3. VBscript使用7zip壓縮日誌文件
- 4. 文件不使用vb.net中的7zip命令壓縮
- 5. 用7zip分別壓縮多個文件
- 6. NSIS:如何解壓7zip壓縮文件
- 7. 用於視頻壓縮的C++示例
- 8. .NET使用壓縮和非壓縮數據壓縮文件
- 9. 需要用於文本壓縮/解壓縮的僞代碼
- 10. 7zip Ultra LZMA2壓縮
- 11. 使用Java解壓縮像7zip這樣的文件
- 12. 如何使用7Zip按月壓縮文件
- 13. 使用7zip壓縮某些目錄的批處理文件?
- 14. 使用python從7zip壓縮文件中使用子進程解壓縮選定的文件
- 15. 如何使用7zip的,而不是壓縮壓縮,密碼變更
- 16. 批量使用7zip在一個壓縮文件中壓縮更多文件,而不是在更多壓縮文件中壓縮更多文件
- 17. 使用命令提示符7zip文件壓縮模式存儲不工作?
- 18. 使用c#慢速解壓縮文本文件dotnetzip .NET 4.0
- 19. C#免費壓縮庫,支持7zip(LZMA)
- 20. lz4壓縮C++示例
- 21. 如何壓縮C#中7Zip的文件夾?
- 22. 解壓縮(解壓縮)由.net壓縮(解壓縮)的文件.net system.io.compression.gzipstream
- 23. C#/ .Net的壓縮組件
- 24. 解壓縮所有文件夾中的CMD線使用7zip的文件
- 25. 如何使用pylzma從7zip壓縮文件中提取多個文件
- 26. 使用.NET 4.5解壓縮受密碼保護的ZIP文件
- 27. 7zip最快的LZMA2壓縮
- 28. 使用YUI壓縮器壓縮子文件夾中的所有JS文件.NET
- 29. 7zip的自解壓壓縮文件不工作
- 30. 使用C++進行文件壓縮
J#可以做.7z壓縮格式? (OP沒有指定格式,但我知道7zip默認使用自己的格式,儘管它也可以.zip。) – 2010-08-15 12:15:49