我需要使用SharpCompress将文件压缩为7zip:http://sharpcompress.codeplex.com
我所做的如下:
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提取压缩文件。
我不知道是否有人也遇到了同样的问题并想知道如何解决它?
提前致谢。
答案 0 :(得分:8)
我是SharpCompress的作者(感谢您顺便尝试一下)并且不支持7Zip压缩:http://sharpcompress.codeplex.com/wikipage?title=Supported%20formats
您编写的是使用LZMA压缩创建标准Zip文件的代码。我的代码可能无法创建正确的zip文件,但也可能是所有程序都无法读取创建的文件。 Zip格式允许LZMA压缩,但并非所有程序都可以预期。 PeaZip(基于7Zip归档代码)确实用LZMA提取Zip,但WinRAR没有。
如果您真的需要7Zip格式,我建议您使用其他内容。就个人而言,我认为7Zip格式过于复杂,建议使用Zip或Tar,然后选择压缩选择。
答案 1 :(得分:2)
SharpCompress不支持7zip压缩。只有解压缩,请参阅:http://sharpcompress.codeplex.com/(支持的格式表)
您可以使用7zip的本机库进行压缩,或者使用开源包装器,如:http://sevenzipsharp.codeplex.com/