gpt4 book ai didi

c# - LastAccess 时间不正确

转载 作者:行者123 更新时间:2023-11-30 15:13:12 26 4
gpt4 key购买 nike

每次我创建一个 FileInfo 对象并访问它的 lastaccesstime 属性时,它总是有几分钟的时间。文件属性窗口保持不变,但应用程序显示它通常比属性窗口时间晚几分钟。

此外,我注意到如果我将文件拖到 cmd 窗口以将文件名作为参数传递,访问时间大部分时间都会更新,但并非总是如此。

这可能是什么原因造成的?

下面是一个例子:

static void Main(string[] args)
{
if (args.Length > 0)
{
FileInfo fi = new FileInfo(args[0].ToString());
Console.WriteLine(args[0]);
if (fi.Exists)
{
Console.Write("Current: " + DateTime.Now + "\n");
Console.Write("LAT: " + fi.LastAccessTime + "\n");
Console.Write("LWT: " + fi.LastWriteTime + "\n");
Console.Write("CT: " + fi.CreationTime + "\n");
}
Console.ReadKey();
}
}

alt text http://img407.imageshack.us/img407/4728/propertiesox6.png alt text http://img380.imageshack.us/img380/7752/appgt0.png

最佳答案

根据我的经验,上次访问时间是出了名的不可靠。根据http://technet.microsoft.com/en-us/library/cc781134.aspx ...

The Last Access Time on disk is not always current because NTFS looks for a one-hour interval before forcing the Last Access Time updates to disk. NTFS also delays writing the Last Access Time to disk when users or programs perform read-only operations on a file or folder, such as listing the folder’s contents or reading (but not changing) a file in the folder.

显然,内存中的副本是正确的,但根据我的经验,您可能会得到一个可能已过时的缓存值。另外请注意,上次访问时间可能会被用户关闭,并且在 Vista 和 2008 中默认关闭。

关于c# - LastAccess 时间不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/254438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com