Created 事件
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

FileSystemWatcher.Created 事件

 

当在指定 Path 中创建文件和目录时发生。

命名空间:   System.IO
程序集:  System(System.dll 中)

[IODescriptionAttribute("FSW_Created")]
public event FileSystemEventHandler Created

某些常见的操作如复制或移动文件或目录,并直接对应一个事件,但这些情况的发生做会导致要引发事件。复制文件或目录时,系统将引发 Created 文件被复制到,如果该目录正在受监视的目录中的事件。如果正在监视复制从中的目录的另一实例 FileSystemWatcher, ,会引发任何事件。例如,您创建的两个实例 FileSystemWatcherFileSystemWatcher1 设置为监视"C:\My Documents",并 FileSystemWatcher2 设置为监视"C:\Your 文档"。如果将文件从"我的文档"复制到"您的文档" Created FileSystemWatcher2,将引发事件,但对于 FileSystemWatcher1 会引发任何事件。与复制不同,移动文件或目录将引发两个事件。从上述示例中,如果从"我的文档"文件移至"您的文档" Created FileSystemWatcher2 时将引发事件和一个 Deleted FileSystemWatcher1 时将引发事件。

System_CAPS_note注意

常见的文件系统操作可能会引发多个事件。例如,当一个文件从一个目录移到另一个、 多个 OnChanged 和一些 OnCreatedOnDeleted 可能引发事件。移动文件一个复杂的操作,其中包含多个简单操作,因此会引发多个事件。同样,某些应用程序 (例如,防病毒软件) 可能会导致检测到的其他文件系统事件 FileSystemWatcher

System_CAPS_note注意

依据的顺序 Created 相对于其他引发事件 FileSystemWatcher 事件可能会更改时 SynchronizingObject 属性不是 null

OnCreated 创建一个文件时,就立即引发事件。如果正在一个文件复制或传输到受监视的目录, OnCreated 会引发事件立即后, 跟一个或多个 OnChanged 事件。

下面的示例使用 Created 事件,以创建监视的文件时向控制台显示的文件路径。

using System;
using System.IO;
using System.Security.Permissions;

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);
    }
}

.NET Framework
1.1 后可用
返回页首
显示:
© 2016 Microsoft