我有字符串中的文件内容,我需要将相同的内容放在 3 个不同的文件中。所以,我使用File.WriteAllText()
C# 的函数将内容放在第一个文件中。现在,对于其他 2 个文件,我有两个选择:
- 使用
File.Copy(firstFile, otherFile)
- 使用
File.WriteAllText(otherFile, content)
性能方面哪个选项更好?
我有字符串中的文件内容,我需要将相同的内容放在 3 个不同的文件中。所以,我使用File.WriteAllText()
C# 的函数将内容放在第一个文件中。现在,对于其他 2 个文件,我有两个选择:
File.Copy(firstFile, otherFile)
File.WriteAllText(otherFile, content)
性能方面哪个选项更好?
如果文件相对较小,它可能会一直缓存在 Windows 磁盘缓存中,因此性能差异会很小,甚至可能File.Copy()
更快(因为 Windows 会知道数据相同,并File.Copy()
调用 Windows API这是非常优化的)。
如果您真的很在意,您应该对其进行检测并计时,尽管由于 Windows 文件缓存,计时可能会完全倾斜。
不过,对您来说可能很重要的一件事:如果您使用File.Copy()
文件属性,包括创建时间,将被复制。如果您以编程方式创建所有文件,则文件之间的创建时间可能不同。
如果这对您很重要,您可能希望在复制后以编程方式设置文件属性,以便它们对所有文件都相同。
就个人而言,我会使用File.Copy()
.