使用sharpcompress创建一个7zip的归档文件

本文关键字:一个 7zip 归档文件 sharpcompress 创建 使用 | 更新日期: 2023-09-27 18:16:22

我需要使用SharpCompress: http://sharpcompress.codeplex.com将文件压缩为7zip

我所做的如下:

using (var archive = ZipArchive.Create())
{
     archive.AddEntry("CompressionTest.pdb", new FileInfo("CompressionTest.pdb"));
     using (Stream newStream = File.Create("CompressionTest212.7z"))
     {
         archive.SaveTo(newStream, SharpCompress.Common.CompressionType.LZMA);
     }
 }

压缩过程已成功完成。但是,使用7z (http://www.7-zip.org/download.html)或winrar都无法提取压缩文件。

我不知道是否有人也有同样的问题,并有一个想法如何解决它?

提前感谢。

使用sharpcompress创建一个7zip的归档文件

我是SharpCompress的作者(顺便感谢您尝试),不支持7Zip压缩:http://sharpcompress.codeplex.com/wikipage?title=Supported%20formats

您编写的代码用于创建具有LZMA压缩的标准Zip文件。有可能我的代码没有创建一个合适的zip文件,但也有可能创建的文件不能被所有程序读取。Zip格式允许LZMA压缩,但并不是所有的程序都期望它。PeaZip(基于7Zip归档器代码)可以用LZMA提取Zip文件,但WinRAR不能。

如果您确实需要7Zip格式,我建议您使用其他格式。我个人认为7Zip格式过于复杂,建议使用Zip或Tar格式,然后自行选择压缩格式

SharpCompress不支持7zip压缩。仅解压,参见:http://sharpcompress.codeplex.com/(支持格式表)

您可以使用本机库7zip进行压缩,或者使用开源包装器,例如:http://sevenzipsharp.codeplex.com/

相关文章: