FileInfo.LastWriteTime如何早于FileInfo.CreationTime?

时间:2012-04-23 09:15:33

标签: c# file time

我今天正在调试一些代码,并注意到我的FileInfo个对象之前的LastWriteTime早于CreationTime时间。这是可能/预期的吗?

4 个答案:

答案 0 :(得分:22)

可以修改文件的这些属性以获取任何值。所以没有什么可以阻止这种情况发生。

尽管如此,最可能的解释是该文件是从一个地方复制到另一个地方的。创建时间将是复制发生的时间。修改时间将是源文件最后修改的时间,即在复制之前。因此,复制文件时,也会复制修改时间。要查看这种情况,只需在您的计算机上选择一个文件即可。创建它的副本(CTRL + C,CTRL + V)并查看副本的属性。

换句话说,创建时间晚于修改时间实际上并不矛盾。创建时间是创建此文件对象的时间。修改时间是文件内容被修改的时间。

答案 1 :(得分:5)

当然可以,只需复制一些文件并将其粘贴到同一文件夹中,您会看到日期不同: enter image description here

答案 2 :(得分:2)

当然有可能。文件的创建和修改时间只是元数据,任何感觉都可以更改。

答案 3 :(得分:2)

此方法可能返回不准确的值,因为它使用的是本机函数,其值可能无法由操作系统不断更新。

http://msdn.microsoft.com/en-us/library/system.io.filesysteminfo.lastwritetime.aspx