Language

FileSystemInfo.LastWriteTime プロパティ

定義

現在のファイルまたはディレクトリが最後に書き込まれた時刻を取得または設定します。

public:
 property DateTime LastWriteTime { DateTime get(); void set(DateTime value); };
public DateTime LastWriteTime { get; set; }
member this.LastWriteTime : DateTime with get, set
Public Property LastWriteTime As DateTime

プロパティ値

現在のファイルが最後に書き込まれた時刻。

例外

Refresh() では、データを初期化できません。

現在のオペレーティング システムが Windows NT 以降ではありません。

呼び出し元が無効な書き込み時間の設定を試みます。

例

次のコード例は、"タッチ" 操作による LastWriteTime プロパティの更新を示しています。 この例では、ファイルは "タッチ" され、 CreationTime、 LastAccessTime 、および LastWriteTime のプロパティが現在の日時に更新されます。

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

注釈

Note

このメソッドは、オペレーティング システムによって値が継続的に更新されないネイティブ関数を使用するため、不正確な値を返す可能性があります。

LastWriteTime オブジェクトの現在のインスタンスが次のいずれかのFileSystemInfo メソッドから返された場合、DirectoryInfo プロパティの値は事前キャッシュされます。

最新の値を取得するには、 Refresh メソッドを呼び出します。

FileSystemInfo オブジェクトに記述されているファイルまたはディレクトリが存在しない場合、またはこのファイルまたはディレクトリを含むファイル システムがこの情報をサポートしていない場合、このプロパティは 1601 年 1 月 1 日午前 0 時 00 分 (C.E.) を返します。協定世界時 (UTC)、現地時刻に調整されます。

適用対象

こちらもご覧ください