This documentation is archived and is not being maintained.

File.GetLastWriteTime Method

Returns the date and time the specified file or directory was last written to.

[Visual Basic]
Public Shared Function GetLastWriteTime( _
   ByVal path As String _
) As DateTime
[C#]
public static DateTime GetLastWriteTime(
 string path
);
[C++]
public: static DateTime GetLastWriteTime(
 String* path
);
[JScript]
public static function GetLastWriteTime(
   path : String
) : DateTime;

Parameters

path
The file or directory for which to obtain write date and time information.

Return Value

A DateTime structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time.

Exceptions

Exception Type Condition
UnauthorizedAccessException The caller does not have the required permission.
ArgumentException path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.
ArgumentNullException path is a null reference (Nothing in Visual Basic).
PathTooLongException The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.
IOException The specified path was not found.
NotSupportedException path is in an invalid format.

Remarks

The path parameter is permitted to specify relative or absolute path information. Relative path information is interpreted as relative to the current working directory. To obtain the current working directory, see GetCurrentDirectory.

For an example of using this method, see the Example section below. The following table lists examples of other typical or related I/O tasks.

To do this... See the example in this topic...
Write to a text file. Writing Text to a File
Read from a text file. Reading Text from a File
Append text to a file. Opening and Appending to a Log File

File.AppendText

FileInfo.AppendText

Rename or move a file. File.Move

FileInfo.MoveTo

Example

[Visual Basic, C#, C++] The following example demonstrates GetLastWriteTime.

[Visual Basic] 
Imports System
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Try
            Dim path As String = "c:\Temp\MyTest.txt"
            If File.Exists(path) = False Then
                File.Create(path)
            Else
                ' Take some action that will affect the write time.
                File.SetLastWriteTime(path, New DateTime(1985, 4, 3))
            End If

            'Get the creation time of a well-known directory.
            Dim dt As DateTime = File.GetLastWriteTime(path)
            Console.WriteLine("The last write time for this file was {0}.", dt)

            'Update the last write time.
            File.SetLastWriteTime(path, DateTime.Now)
            dt = File.GetLastWriteTime(path)
            Console.WriteLine("The last write time for this file was {0}.", dt)

        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

[C#] 
using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        try 
        {
            string path = @"c:\Temp\MyTest.txt";
            if (!File.Exists(path)) 
            {
                File.Create(path);
            } 
            else 
            {
                // Take an action that will affect the write time.
                File.SetLastWriteTime(path, new DateTime(1985,4,3));
            }

            // Get the creation time of a well-known directory.
            DateTime dt = File.GetLastWriteTime(path);
            Console.WriteLine("The last write time for this file was {0}.", dt);
            
            // Update the last write time.
            File.SetLastWriteTime(path, DateTime.Now);
            dt = File.GetLastWriteTime(path);
            Console.WriteLine("The last write time for this file was {0}.", dt);

        } 

        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

[C++] 
#using <mscorlib.dll>

using namespace System;
using namespace System::IO;

int main() {
    try {
        String* path = S"c:\\Temp\\MyTest.txt";
        if (!File::Exists(path)) {
            File::Create(path);
        } else {
            // Take an action that will affect the write time.
            File::SetLastWriteTime(path, DateTime(1985,4,3));
        }

        // Get the creation time of a well-known directory.
        DateTime dt = File::GetLastWriteTime(path);
        Console::WriteLine(S"The last write time for this file was {0}.", __box(dt));

        // Update the last write time.
        File::SetLastWriteTime(path, DateTime::Now);
        dt = File::GetLastWriteTime(path);
        Console::WriteLine(S"The last write time for this file was {0}.", __box(dt));
    } catch (Exception* e) {
        Console::WriteLine(S"The process failed: {0}", e);
    }
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

.NET Framework Security: 

See Also

File Class | File Members | System.IO Namespace | Working with I/O | Reading Text from a File | Writing Text to a File

Show: