使用 SevenZipSharp 解压内存中的 7z 存档

问题描述 投票:0回答:0

我有一个包含数百个文本文件的 7z 存档。我想将每个文本文件直接加载到内存中。

此代码有效,但速度很慢:

var memoryStreams = new List<MemoryStream>();
var st = new SevenZipExtractor("files.7z");
for (var i = 0; i < st.FilesCount; i++)
{
    var stream = new MemoryStream();
    st.ExtractFile(i, stream);
    memoryStreams.Add(stream);
}
//Read the memoryStreams - at this point it runs very fast

运行需要 15 分钟。相比之下,解压缩到磁盘需要十秒钟,因此作为一种解决方法,我正在这样做,然后在将每个文件读入内存后删除文件夹。但必须有更好的方法。

c# 7zip sevenzipsharp
© www.soinside.com 2019 - 2024. All rights reserved.