c# – SevenZipSharp – 压缩内存流

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的C#相关文章