加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – SevenZipSharp – 压缩内存流

发布时间:2020-12-15 17:39:51 所属栏目:百科 来源:网络整理
导读:我正在使用SevenZipSharp来压缩文件到zip文件. 有没有办法使用它从内存流创建一个zip(意思是将文件加载到内存流之前)? 谢谢, 玛雅. 解决方法 我正在使用SevenZipSharp与流没有问题,所以有史以来. SevenZip.SevenZipCompressor compressor = new SevenZip.Se
我正在使用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-zip7z.dll");

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读