この記事の英語版を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語
このドキュメントはアーカイブされており、メンテナンスされていません。

FileSystemEventArgs クラス

ディレクトリ イベントの ChangedCreatedDeleted にデータを提供します。

System.Object
  System.EventArgs
    System.IO.FileSystemEventArgs
      System.IO.RenamedEventArgs

名前空間:  System.IO
アセンブリ:  System (System.dll 内)

public class FileSystemEventArgs : EventArgs

FileSystemEventArgs 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドFileSystemEventArgs FileSystemEventArgs クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティChangeType発生したディレクトリ イベントの種類を取得します。
パブリック プロパティFullPath影響を受けるファイルまたはディレクトリの絶対パスを取得します。
パブリック プロパティName影響を受けるファイルまたはディレクトリの名前を取得します。
このページのトップへ

  名前説明
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalize オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone 現在の Object の浅いコピーを作成します。 (Object から継承されます。)
パブリック メソッドToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

FileSystemEventArgs クラスは、これらのイベントのイベント ハンドラーにパラメーターとして渡されます。

Changed イベントは、FileSystemWatcher の指定した Path で、ファイルまたはディレクトリのサイズ、システム属性、最後の書き込み時刻、最後のアクセス時刻、またはセキュリティ アクセス許可に変更が加えられた場合に発生します。

Created イベントは、FileSystemWatcher の指定した Path で、ファイルまたはディレクトリが作成された場合に発生します。

Deleted イベントは、FileSystemWatcher の指定した Path で、ファイルまたはディレクトリが削除された場合に発生します。 詳細については、「FileSystemWatcher」を参照してください。

FileSystemWatcher を作成し、ディスク ドライブ上でのファイルの変更 (作成、削除、名前変更、変更) を監視する例を次に示します。 この例では、エラーの通知を正しく受け取る方法も示されています。


using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        //  Create a FileSystemWatcher to monitor all files on drive C.
        FileSystemWatcher fsw = new FileSystemWatcher("C:\\");

        //  Watch for changes in LastAccess and LastWrite times, and
        //  the renaming of files or directories. 
        fsw.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
            | NotifyFilters.FileName |NotifyFilters.DirectoryName;

        //  Register a handler that gets called when a 
        //  file is created, changed, or deleted.
        fsw.Changed += new FileSystemEventHandler(OnChanged);

        fsw.Created += new FileSystemEventHandler(OnChanged);

        fsw.Deleted += new FileSystemEventHandler(OnChanged);

        //  Register a handler that gets called when a file is renamed.
        fsw.Renamed += new RenamedEventHandler(OnRenamed);

        //  Register a handler that gets called if the 
        //  FileSystemWatcher needs to report an error.
        fsw.Error += new ErrorEventHandler(OnError);

        //  Begin watching.
        fsw.EnableRaisingEvents = true;

        Console.WriteLine("Press \'Enter\' to quit the sample.");
        Console.ReadLine();


    }

    //  This method is called when a file is created, changed, or deleted.
    private static void OnChanged(object source, FileSystemEventArgs e)
    {
        //  Show that a file has been created, changed, or deleted.
        WatcherChangeTypes wct = e.ChangeType;
        Console.WriteLine("File {0} {1}", e.FullPath, wct.ToString());
    }

    //  This method is called when a file is renamed.
    private static void OnRenamed(object source, RenamedEventArgs e)
    {
        //  Show that a file has been renamed.
        WatcherChangeTypes wct = e.ChangeType;
        Console.WriteLine("File {0} {2} to {1}", e.OldFullPath, e.FullPath, wct.ToString());
    }

    //  This method is called when the FileSystemWatcher detects an error.
    private static void OnError(object source, ErrorEventArgs e)
    {
        //  Show that an error has been detected.
        Console.WriteLine("The FileSystemWatcher has detected an error");
        //  Give more information if the error is due to an internal buffer overflow.
        if (e.GetException().GetType() == typeof(InternalBufferOverflowException))
        {
            //  This can happen if Windows is reporting many file system events quickly 
            //  and internal buffer of the  FileSystemWatcher is not large enough to handle this
            //  rate of events. The InternalBufferOverflowException error informs the application
            //  that some of the file system events are being lost.
            Console.WriteLine(("The file system watcher experienced an internal buffer overflow: " + e.GetException().Message));
        }
    }

}


.NET Framework

サポート対象: 4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象: 4、3.5 SP1

Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
表示: