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

时间:2013-05-24 06:00:57

标签: c# file copy writealltext

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

  1. 使用File.Copy(firstFile, otherFile)
  2. 使用File.WriteAllText(otherFile, content)
  3. 性能明智哪个选项更好?

1 个答案:

答案 0 :(得分:4)

如果文件相对较小,它可能会保留在Windows磁盘缓存中,因此性能差异很小,甚至可能File.Copy()更快(因为Windows会知道数据是同样,File.Copy()调用极其优化的Windows API。

如果你真的在乎,你应该对它进行检测和计时,尽管由于Windows文件缓存,时间可能会完全偏离。

但有一点可能对您很重要:如果使用File.Copy(),将复制包括创建时间在内的文件属性。如果以编程方式创建所有文件,则文件之间的创建时间可能不同。

如果这对您很重要,您可能希望以编程方式在复制后设置文件属性,以使它们对所有文件都相同。

就个人而言,我会使用File.Copy()