0

此代码不好,因为实际打开或访问文件的所有应用程序都不会更新访问时间。

File.GetLastAccessTime("d:\\a.txt");

我想知道文件何时打开,只是它。我以为我可以通过阅读上次访问时间找到它,但它不起作用,因为它没有被打开它的应用程序或 Windows 更新。

4

1 回答 1

2

来自 msdn File.GetLastAccessTime() 方法:

此方法可能返回不准确的值,因为它使用的本机函数的值可能不会被操作系统持续更新。

另请查看这篇文章:

http://blogs.technet.com/b/filecab/archive/2006/11/07/disabling-last-access-time-in-windows-vista-to-improve-ntfs-performance.aspx

但是,如果我理解正确,您的应用程序正在访问该文件,如果是这样,您可以在开始访问它时设置上次访问时间:

File.SetLastAccessTime(path, DateTime.Now);
于 2013-07-13T15:26:20.210 回答