FileSystemInfo.LastAccessTime Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the time the current file or directory was last accessed.
public:
property DateTime LastAccessTime { DateTime get(); void set(DateTime value); };
public DateTime LastAccessTime { get; set; }
member this.LastAccessTime : DateTime with get, set
Public Property LastAccessTime As DateTime
Property Value
The time that the current file or directory was last accessed.
Exceptions
Refresh() cannot initialize the data.
The current operating system is not Windows NT or later.
The caller attempts to set an invalid access time
Examples
The following code example demonstrates the updating of the LastAccessTime property through a "touch" operation. In this example, the file is "touched", updating the CreationTime, LastAccessTime and LastWriteTime properties to the current date and time.
using System;
using System.IO;
namespace touch
{
class Touch
{
static void Main(string[] args)
{
// Make sure a filename was provided.
if (args.Length > 0)
{
// Verify that the provided filename exists.
if (File.Exists(args[0]))
{
FileInfo fi = new FileInfo(args[0]);
touchFile(fi);
}
else
{
Console.WriteLine(
"Could not find the file: {0}.", args[0]);
}
}
else
{
Console.WriteLine("No file was specified.");
}
}
static void touchFile(FileSystemInfo fsi)
{
Console.WriteLine("Touching: {0}", fsi.FullName);
// Update the CreationTime, LastWriteTime and LastAccessTime.
try
{
fsi.CreationTime = fsi.LastWriteTime = fsi.LastAccessTime =
DateTime.Now;
}
catch (Exception e)
{
Console.WriteLine("Error: {0}", e.Message);
}
}
}
}
Imports System.IO
Public Class Touch
Public Shared Sub Main(ByVal args() As String)
' Make sure an argument (filename) was provided.
If args.Length > 0 Then
' Verify that the provided filename exists.
If File.Exists(args(0)) Then
Dim fi As FileInfo = New FileInfo(args(0))
touchFile(fi)
Else
Console.WriteLine("Could not find the file {0}", args(0))
End If
Else
Console.WriteLine("No file specified.")
End If
End Sub
Public Shared Sub touchFile(ByVal fsi As FileSystemInfo)
Console.WriteLine("Touching: {0}", fsi.FullName)
' Update the CreationTime, LastWriteTime and LastAccessTime.
Try
fsi.CreationTime = DateTime.Now
fsi.LastAccessTime = DateTime.Now
fsi.LastWriteTime = DateTime.Now
Catch e As Exception
Console.WriteLine("Error: {0}", e.Message)
End Try
End Sub
End Class
Remarks
Note
This method may return an inaccurate value because it uses native functions whose values may not be continuously updated by the operating system.
If the file described in the FileSystemInfo object does not exist, this property returns 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time.
The value of the LastAccessTimeUtc property is pre-cached if the current instance of the FileSystemInfo object was returned from any of the following DirectoryInfo methods:
To get the latest value, call the Refresh method.