【发布时间】:2012-06-21 22:23:06
【问题描述】:
我想找到一种方法同时(使用 C#)将一个文件复制到多个位置。
意味着我不希望原始文件只被读取一次,并将文件“粘贴”到另一个位置(在本地网络上)。
据我的测试显示,
File.Copy()
总是会再次读取源代码。
据我了解,即使在使用内存时,该内存块也会被锁定。
所以基本上,我想将“复制粘贴”模仿为一个“副本”和多个“粘贴”的形式,无需再次从硬盘重新读取。 p>
为什么? 因为最终,我需要将一个文件夹(超过 1GB)复制到多台计算机上,而瓶颈是我需要读取源文件的部分。
所以, 有没有可能实现?
【问题讨论】:
-
您是否对此有疑问,只是出于科学考虑还是过早地优化了您的代码?
-
@ivowiblo:我正在尝试优化一个需要 2 小时(10 台计算机需要 15 分钟)的过程。我确信“正常”副本有更好的方法。
-
@Holystream:这是方向,但我仍然认为必须有更好的方法来使用线程(或任务......)进行复制过程
-
@Jimbo 我用过ProcessExplorer :-)
标签: c# file-io copy memorystream file-copying