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