繁体   English   中英

性能明智:C#中的File.Copy与File.WriteAllText函数?

[英]Performance wise: File.Copy vs File.WriteAllText function in C#?

我有字符串形式的文件内容,我需要将相同的内容放入3个不同的文件中。 因此,我正在使用C#的File.WriteAllText()函数将内容放入第一个文件中。 现在,对于其他2个文件,我有两个选择:

  1. 使用File.Copy(firstFile, otherFile)
  2. 使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM