gpt4 book ai didi

c# - 在 C# 中将多个文件合并到一个文件中最快的方法是什么?

转载 作者:行者123 更新时间:2023-11-30 23:26:59 24 4
gpt4 key购买 nike

我处理大文件(其容量至少为 500MB),通过 C# 拆分和合并。

我必须将文件拆分成数千个文件,将这些文件分成一些组,然后按每个组合并这些文件。

文件的最小数量为 10,000。

我使用 Stream.CopyTo() 方法实现了合并功能。这是其中的主要部分。

using (Stream writer = File.OpenWrite(outputFilePath))
{
int fileNum = filePaths.Count();
for (int i = 0; i < fileNum; i++)
{
using (Stream reader = File.OpenRead(filePaths.ElementAt(i)))
{ reader.CopyTo(writer); }
}
}

我测试了我的程序,将 500MB 拆分为 2 组的 17000 个文件,并将每组 8500 个文件合并为一个文件。

合并部分大约需要 80 秒。我认为与拆分同一文件大约需要 15~20 秒相比,它非常慢

有没有比我的代码更快的方法?

最佳答案

您的代码看起来不错,但 ElementAt 是一种代码味道。将其转换为数组并使用 [i] 代替。如果您有 10K 个元素,我敢肯定您会浪费很多时间。

关于c# - 在 C# 中将多个文件合并到一个文件中最快的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36709258/

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