このドキュメントはアーカイブされており、メンテナンスされていません。

FileSystemWatcher.Created イベント

更新 : 2007 年 11 月

指定した Path のファイルまたはディレクトリが作成されたときに発生します。

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

[IODescriptionAttribute("FSW_Created")]
public event FileSystemEventHandler Created
/** @event */
/** @attribute IODescriptionAttribute("FSW_Created") */
public void add_Created (FileSystemEventHandler value)
/** @event */
/** @attribute IODescriptionAttribute("FSW_Created") */
public void remove_Created (FileSystemEventHandler value)

JScript では、イベントは使用できません。

ファイルやディレクトリのコピーまたは移動など、一般的な操作のいくつかはイベントに直接は対応していませんが、イベントを発生させる場合はあります。ファイルまたはディレクトリをコピーするときに、ファイルのコピー先ディレクトリがウォッチされている場合は、そのディレクトリで Created イベントが発生します。コピー元のディレクトリが FileSystemWatcher の別のインスタンスでウォッチされている場合、イベントは発生しません。たとえば、FileSystemWatcher のインスタンスを 2 つ作成します。FileSystemWatcher1 は "C:\My Documents" をウォッチするように設定され、FileSystemWatcher2 は "C:\Your Documents" をウォッチするように設定されます。ファイルを "My Documents" から "Your Documents" にコピーすると、FileSystemWatcher2 では Created イベントが発生しますが、FileSystemWatcher1 ではイベントは発生しません。コピーの場合とは異なり、ファイルまたはディレクトリを移動すると 2 つのイベントが発生します。前の例で、ファイルを "My Documents" から "Your Documents" に移動すると、Created イベントが FileSystemWatcher2 で発生し、Deleted イベントが FileSystemWatcher1 で発生します。

48ty4w2s.alert_note(ja-jp,VS.90).gifメモ :

一般的なファイル システム操作で、複数のイベントが発生することがあります。たとえば、あるディレクトリから別のディレクトリにファイルを移動するとき、複数の OnChangedOnCreatedOnDeleted の各イベントが発生することがあります。ファイルの移動は、複数の単純な操作から構成される複雑な操作です。そのため、複数のイベントが発生します。同様に、一部のアプリケーション (ウイルス対策ソフトウェアなど) では追加のファイル システム イベントが発生し、FileSystemWatcher で検出されることがあります。

OnCreated イベントは、ファイルが作成された直後に発生します。ウォッチされているディレクトリにファイルがコピーまたは転送されると、その直後に OnCreated イベントが発生し、続いて OnChanged イベントが 1 つ以上発生します。

Created イベントを使用して、ウォッチ対象のファイルが作成されたときにファイル パスをコンソールに表示する例を次に示します。

public class Watcher
{

    public static void Main()
    {
    Run();

    }

    [PermissionSet(SecurityAction.Demand, Name="FullTrust")]
    public static void Run()
    {
        string[] args = System.Environment.GetCommandLineArgs();

        // If a directory is not specified, exit program.
        if(args.Length != 2)
        {
            // Display the proper way to call the program.
            Console.WriteLine("Usage: Watcher.exe (directory)");
            return;
        }

        // Create a new FileSystemWatcher and set its properties.
        FileSystemWatcher watcher = new FileSystemWatcher();
        watcher.Path = args[1];
        /* Watch for changes in LastAccess and LastWrite times, and
           the renaming of files or directories. */
        watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
           | NotifyFilters.FileName | NotifyFilters.DirectoryName;
        // Only watch text files.
        watcher.Filter = "*.txt";

        // Add event handlers.
        watcher.Changed += new FileSystemEventHandler(OnChanged);
        watcher.Created += new FileSystemEventHandler(OnChanged);
        watcher.Deleted += new FileSystemEventHandler(OnChanged);
        watcher.Renamed += new RenamedEventHandler(OnRenamed);

        // Begin watching.
        watcher.EnableRaisingEvents = true;

        // Wait for the user to quit the program.
        Console.WriteLine("Press \'q\' to quit the sample.");
        while(Console.Read()!='q');
    }

    // Define the event handlers.
    private static void OnChanged(object source, FileSystemEventArgs e)
    {
        // Specify what is done when a file is changed, created, or deleted.
       Console.WriteLine("File: " +  e.FullPath + " " + e.ChangeType);
    }

    private static void OnRenamed(object source, RenamedEventArgs e)
    {
        // Specify what is done when a file is renamed.
        Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
    }
}



public class Watcher
{
    public static void main(String[] args1)
    {
	Run();
    } 

    /** @attribute PermissionSet(SecurityAction.Demand, Name="FullTrust")
     */
    public static void Run()
    {
        String args[] = System.Environment.GetCommandLineArgs();

        // If a directory is not specified, exit program.
        if (args.length != 2) {

            // Display the proper way to call the program.
            Console.WriteLine("Usage: Watcher.exe (directory)");
            return;
        }

        // Create a new FileSystemWatcher and set its properties.
        FileSystemWatcher watcher = new FileSystemWatcher();
        watcher.set_Path(args[1]);

        /* Watch for changes in LastAccess and LastWrite times, and 
           the renaming of files or directories.
         */
        watcher.set_NotifyFilter
            (NotifyFilters.LastAccess |NotifyFilters.LastWrite |
            NotifyFilters.FileName | NotifyFilters.DirectoryName);

        // Only watch text files.
        watcher.set_Filter("*.txt");

        // Add event handlers.
        watcher.add_Changed(new FileSystemEventHandler(OnChanged));
        watcher.add_Created(new FileSystemEventHandler(OnChanged));
        watcher.add_Deleted(new FileSystemEventHandler(OnChanged));
        watcher.add_Renamed(new RenamedEventHandler(OnRenamed));

        // Begin watching.
        watcher.set_EnableRaisingEvents(true);

        // Wait for the user to quit the program.
        Console.WriteLine("Press \'q\' to quit the sample.");
        while ((Console.Read() != 'q')) {

        }
    }

    // Define the event handlers.
    private static void OnChanged(Object source,FileSystemEventArgs e)
    {
        // Specify what is done when a file is changed, created, or deleted.
        Console.WriteLine(("File: " + e.get_FullPath() + " " 
            + e.get_ChangeType()));
    } //OnChanged

    private static void OnRenamed(Object source, RenamedEventArgs e)
    {
        // Specify what is done when a file is renamed.
        Console.WriteLine("File: {0} renamed to {1}",
            e.get_OldFullPath(),e.get_FullPath());
    } //OnRenamed
} //Watcher


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

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