如何有效地将多个数据范围从Internet上的一个文件同时写入一个文件

时间:2019-04-06 11:09:09

标签: c# filestream networkstream

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

现在,我将每个范围部分下载到一个文件中,待它们全部完成后再组合成最终文件。

我希望他们这样做,如果可以全部写入一个文件以减少磁盘使用,并且我认为这可以做得更好。

1 个答案:

答案 0 :(得分:0)

您可以使用持久存储映射文件,请参见https://docs.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files

  

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