我的文件内容是字符串,我需要将相同的内容放在3个不同的文件中。
所以,我使用C#的File.WriteAllText()
函数将内容放在第一个文件中。
现在,对于其他2个文件,我有两个选择:
File.Copy(firstFile, otherFile)
File.WriteAllText(otherFile, content)
性能明智哪个选项更好?
答案 0 :(得分:4)
如果文件相对较小,它可能会保留在Windows磁盘缓存中,因此性能差异很小,甚至可能File.Copy()
更快(因为Windows会知道数据是同样,File.Copy()
调用极其优化的Windows API。
如果你真的在乎,你应该对它进行检测和计时,尽管由于Windows文件缓存,时间可能会完全偏离。
但有一点可能对您很重要:如果使用File.Copy()
,将复制包括创建时间在内的文件属性。如果以编程方式创建所有文件,则文件之间的创建时间可能不同。
如果这对您很重要,您可能希望以编程方式在复制后设置文件属性,以使它们对所有文件都相同。
就个人而言,我会使用File.Copy()
。