Unzip和unrar到MemoryStream

时间:2012-10-03 06:36:40

标签: c# .net unzip unrar sevenzipsharp

我的应用加载包含大量图片的RAR / ZIP存档,并在列表框中显示缩略图。 我现在正在使用SevenZipSharp。 Afaik它只支持将单个文件转储到磁盘 - 我必须为每个图像获取缩略图。我认为将图像转储到内存中会给我带来至少一些性能提升。任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:2)

在SevenZipSharp源代码中,您可以看到有两个SevenZipExtractor.ExtractFile()重载将System.IO.Stream对象作为输入类型:

public void ExtractFile(string fileName, Stream stream)
// and
public void ExtractFile(int index, Stream stream) // 'index' is the index in the archive file table.

MemoryStream继承自Stream时,您可以使用其中一个功能来实现您的目标。

注意: SevenZipExtractor的构造函数也接受Stream对象作为输入类型。