2

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

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

性能方面哪个选项更好?

4

1 回答 1

4

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

如果您真的很在意,您应该对其进行检测并计时,尽管由于 Windows 文件缓存,计时可能会完全倾斜。

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

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

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

于 2013-05-24T06:08:32.507 回答