我已在我的机器上安装了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. 文件不使用vb.net中的7zip命令压缩
- 4. 用7zip分别压缩多个文件
- 5. NSIS:如何解压7zip压缩文件
- 6. 使用7zip压缩某些目录的批处理文件?
- 7. 如何使用7Zip按月压缩文件
- 8. 使用python从7zip压缩文件中使用子进程解压缩选定的文件
- 9. 如何使用7zip的,而不是压缩压缩,密码变更
- 10. C#免费压缩库,支持7zip(LZMA)
- 11. 使用c#慢速解压缩文本文件dotnetzip .NET 4.0
- 12. lz4压缩C++示例
- 13. 如何使用pylzma从7zip压缩文件中提取多个文件
- 14. 解压缩(解压缩)由.net压缩(解压缩)的文件.net system.io.compression.gzipstream
- 15. 7zip的自解压压缩文件不工作
- 16. C#/ .Net的压缩组件
- 17. 使用C解压缩.gz文件#
- 18. 使用c解压缩文件#
- 19. 使用C#解压缩tar/BZ2文件
- 20. 使用C#解压缩tar文件
- 21. 使用C++进行文件压缩
- 22. 为什么我们不能用gzip压缩超过1个文件使用7zip
- 23. 通过C#使用cmd来压缩和解压缩文件
- 24. 在c#中使用zlib压缩文件时解压文件
- 25. 使用子进程python库来解压文件使用7zip
- 26. .NET文件压缩库
- 27. 使用霍夫曼代码压缩文件的步骤
- 28. 使用7ZIP和CMD压缩并删除7天以前的文件
- 29. 使用DotNetZip解密密码保护的压缩文件C#
- 30. PHP可以解压缩使用.NET GZipStream类压缩的文件吗?
J#可以做.7z压缩格式? (OP没有指定格式,但我知道7zip默认使用自己的格式,尽管它也可以.zip。) – 2010-08-15 12:15:49