C# 如何高效地将internet上一个文件中的多个数据范围同时写入一个文件

C# 如何高效地将internet上一个文件中的多个数据范围同时写入一个文件,c#,filestream,networkstream,C#,Filestream,Networkstream,我希望有多个网络流线程同时写入/下载到一个文件中。 例如,您有一个文件并下载范围: 0-1000 1001-2002 2003-3004... 我希望他们尽可能高效地将接收字节写入一个文件 现在,我正在将每个范围部分下载到一个文件中,并在完成后将它们合并到最终文件中 如果可以将所有文件写入一个文件以减少磁盘使用量,我希望他们这样做。我觉得这一切都可以做得更好。您可以使用持久内存映射文件,请参阅 持久化文件是与磁盘上的源文件关联的内存映射文件。最后一个进程处理完文件后,数据将保存到磁盘上的源文件中

我希望有多个网络流线程同时写入/下载到一个文件中。 例如,您有一个文件并下载范围: 0-1000 1001-2002 2003-3004... 我希望他们尽可能高效地将接收字节写入一个文件

现在,我正在将每个范围部分下载到一个文件中,并在完成后将它们合并到最终文件中


如果可以将所有文件写入一个文件以减少磁盘使用量,我希望他们这样做。我觉得这一切都可以做得更好。

您可以使用持久内存映射文件,请参阅

持久化文件是与磁盘上的源文件关联的内存映射文件。最后一个进程处理完文件后,数据将保存到磁盘上的源文件中。这些内存映射文件适用于处理非常大的源文件


如果你能提供到目前为止的进展情况,那就太棒了。如果你没有看到当前的解决方案,就很难就如何改进当前的解决方案向你提供建议。例如,我不明白为什么你不能简单地查找(不一定是“Internet”上的文件-http?-但肯定是本地文件)。它是Internet上的一个文件,但它很大,同时下载多个部分会更快。这不是重复,因为公认的答案肯定是无效的,它在写入每个范围之前锁定。