[英]Performance wise: File.Copy vs File.WriteAllText function in C#?
我有字符串形式的文件内容,我需要将相同的内容放入3个不同的文件中。 因此,我正在使用C#的File.WriteAllText()
函数将内容放入第一个文件中。 现在,对于其他2个文件,我有两个选择:
File.Copy(firstFile, otherFile)
File.WriteAllText(otherFile, content)
性能明智的选择哪个更好?
如果文件相对较小,则可能会保留在Windows磁盘缓存中,因此性能差异会很小,甚至可能是File.Copy()
更快(因为Windows会知道数据是相同的,和File.Copy()
调用经过优化的Windows API)。
如果您真的很在意,则应该对它进行计时并安排时间,尽管由于Windows文件缓存的原因,时间可能会完全错开。
不过,对您而言可能很重要的一件事:如果使用File.Copy()
,将复制包括创建时间在内的文件属性。 如果以编程方式创建所有文件,则文件之间的创建时间可能会有所不同。
如果这对您很重要,则可能需要以编程方式设置复制后的文件属性,以使所有文件的属性相同。
就个人而言,我将使用File.Copy()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.