性能方面:文件.拷贝vs文件.c#中的WriteAllText函数

本文关键字:文件 中的 WriteAllText 函数 拷贝 方面 性能 vs | 更新日期: 2023-09-27 18:15:12

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

  1. 使用File.Copy(firstFile, otherFile)
  2. 使用File.WriteAllText(otherFile, content)

性能方面哪个选项更好?

性能方面:文件.拷贝vs文件.c#中的WriteAllText函数

如果文件相对较小,则可能保留在Windows磁盘缓存中缓存,因此性能差异将很小,或者甚至可能是File.Copy()更快(因为Windows将知道数据是相同的,并且File.Copy()调用Windows API非常优化)。

如果你真的关心,你应该仪器和时间的事情,虽然时间可能完全扭曲,因为Windows文件缓存。

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

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

我个人会用File.Copy()