gpt4 book ai didi

c# - 如何减少提取文件所需的时间?

转载 作者:太空狗 更新时间:2023-10-29 21:44:48 26 4
gpt4 key购买 nike

我用 C# 编写了一个程序,它处理大约 30 个压缩文件夹,总共有大约 35000 个文件。我的目的是读取每个文件以处理其信息。截至目前,我的代码提取所有文件夹,然后读取文件。这个过程的问题是它需要大约 15-20 分钟才能发生,这很长。

我正在使用以下代码提取文件:

void ExtractFile(string zipfile, string path)
{
ZipFile zip = ZipFile.Read(zipfile);
zip.ExtractAll(path);
}

提取部分是处理时间最长的部分。我需要减少这个时间。有没有一种方法可以在不解压缩的情况下读取压缩文件夹中文件的内容?或者如果有人知道任何其他方法可以帮助我减少这段代码的时间?

提前致谢

最佳答案

您可以尝试将每个条目读入内存流而不是文件系统:

ZipFile zip = ZipFile.Read(zipfile);
foreach(ZipEntry entry in zip.Entries)
{
using(MemoryStream ms = new MemoryStream())
{
entry.Extract(ms);
ms.Seek(0,SeekOrigin.Begin);
// read from the stream
}

}

关于c# - 如何减少提取文件所需的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21387561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com