微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – SevenZipSharp – 压缩内存流

我正在使用SevenZipSharp来压缩文件到zip文件.
有没有办法使用它从内存流创建一个zip(意思是将文件加载到内存流之前)?

谢谢,
玛雅.

解决方法

我正在使用SevenZipSharp与流没有问题,所以有史以来.
SevenZip.SevenZipCompressor compressor = new SevenZip.SevenZipCompressor();
compressor.CompressionMethod = SevenZip.CompressionMethod.Lzma2;
compressor.CompressionLevel = SevenZip.CompressionLevel.normal;
compressor.Compressstream(ms,compressedStream);

在最后一行,“ms”是我要压缩的流,我们来说一个MemoryStream. “compressedStream”是我要压缩的流,它可以是另一个MemoryStream或甚至FileStream …

解压缩:

SevenZip.SevenZipExtractor extractor = new SevenZip.SevenZipExtractor(compressedStream);
extractor.ExtractFile(0,decompressedStream);

SevenZipExtractor没有解压缩流方法,所以我使用ExtractFile().

好简单.在上述任何代码调用之前,我必须指定7zip dll:

SevenZip.SevenZipBase.SetLibraryPath(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\\7-zip\\7z.dll");

在我的情况下,我不捆绑7z.dll与我的应用程序,7-zip单独安装在机器上.

一切都超级容易.我从Codeplex – http://sevenzipsharp.codeplex.com/下载了SevenZipSharp,从http://www.7-zip.org/下载了7-zip.

原文地址:https://www.jb51.cc/csharp/96523.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐