FileSystemWatcher.Created Event

Definition

Tritt ein, wenn im angegebenen Path eine Datei oder ein Verzeichnis erstellt wird.Occurs when a file or directory in the specified Path is created.

public:
 event System::IO::FileSystemEventHandler ^ Created;
public event System.IO.FileSystemEventHandler Created;
[System.IO.IODescription("FSW_Created")]
public event System.IO.FileSystemEventHandler Created;
[System.IO.IODescription("Occurs when a file/directory creation matches the filter")]
public event System.IO.FileSystemEventHandler Created;
member this.Created : System.IO.FileSystemEventHandler 
Public Custom Event Created As FileSystemEventHandler 
Attributes

Examples

Im folgenden Beispiel wird das Created-Ereignis verwendet, um den Dateipfad der Konsole anzuzeigen, wenn die überwachte Datei erstellt wird.The following example uses the Created event to display the file path to the console whenever the watched file is created.

#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Security::Permissions;

public ref class Watcher
{
private:
   // Define the event handlers.
   static void OnChanged( Object^ /*source*/, FileSystemEventArgs^ e )
   {
      // Specify what is done when a file is changed, created, or deleted.
      Console::WriteLine( "File: {0} {1}", e->FullPath, e->ChangeType );
   }

   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:
   [PermissionSet(SecurityAction::Demand, Name="FullTrust")]
   int static run()
   {
      array<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 0;
      }

      // Create a new FileSystemWatcher and set its properties.
      FileSystemWatcher^ watcher = gcnew FileSystemWatcher;
      watcher->Path = args[ 1 ];

      /* Watch for changes in LastAccess and LastWrite times, and 
          the renaming of files or directories. */
      watcher->NotifyFilter = static_cast<NotifyFilters>(NotifyFilters::LastAccess |
            NotifyFilters::LastWrite | NotifyFilters::FileName | NotifyFilters::DirectoryName);

      // Only watch text files.
      watcher->Filter = "*.txt";

      // Add event handlers.
      watcher->Changed += gcnew FileSystemEventHandler( Watcher::OnChanged );
      watcher->Created += gcnew FileSystemEventHandler( Watcher::OnChanged );
      watcher->Deleted += gcnew FileSystemEventHandler( Watcher::OnChanged );
      watcher->Renamed += gcnew RenamedEventHandler( Watcher::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' );

      return 0;
   }
};

int main() {
   Watcher::run();
}
using System;
using System.IO;
using System.Security.Permissions;

public class Watcher
{
    public static void Main()
    {
        Run();
    }

    [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
    private static void Run()
    {
        string[] args = 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.
        using (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 += OnChanged;
            watcher.Created += OnChanged;
            watcher.Deleted += OnChanged;
            watcher.Renamed += 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: {e.OldFullPath} renamed to {e.FullPath}");
}
Imports System.IO
Imports System.Security.Permissions

Public Class Watcher

    Public Shared Sub Main()

        Run()

    End Sub

    <PermissionSet(SecurityAction.Demand, Name:="FullTrust")>
    Private Shared Sub Run()

        Dim args() As String = Environment.GetCommandLineArgs()

        ' If a directory is not specified, exit the program.
        If args.Length <> 2 Then
            ' Display the proper way to call the program.
            Console.WriteLine("Usage: Watcher.exe (directory)")
            Return
        End If

        ' Create a new FileSystemWatcher and set its properties.
        Using watcher As 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 _
                                 Or NotifyFilters.LastWrite _
                                 Or NotifyFilters.FileName _
                                 Or NotifyFilters.DirectoryName)

            ' Only watch text files.
            watcher.Filter = "*.txt"

            ' Add event handlers.
            AddHandler watcher.Changed, AddressOf OnChanged
            AddHandler watcher.Created, AddressOf OnChanged
            AddHandler watcher.Deleted, AddressOf OnChanged
            AddHandler watcher.Renamed, AddressOf OnRenamed

            ' Begin watching.
            watcher.EnableRaisingEvents = True

            ' Wait for the user to quit the program.
            Console.WriteLine("Press 'q' to quit the sample.")
            While Chr(Console.Read()) <> "q"c
            End While
        End Using
    End Sub

    ' Define the event handlers.
    Private Shared Sub OnChanged(source As Object, e As FileSystemEventArgs)
        ' Specify what is done when a file is changed, created, or deleted.
        Console.WriteLine($"File: {e.FullPath} {e.ChangeType}")
    End Sub

    Private Shared Sub OnRenamed(source As Object, e As RenamedEventArgs)
        ' Specify what is done when a file is renamed.
        Console.WriteLine($"File: {e.OldFullPath} renamed to {e.FullPath}")
    End Sub

End Class

Remarks

Einige häufige Vorkommen, z. b. das Kopieren oder Verschieben einer Datei oder eines Verzeichnisses, entsprechen nicht direkt einem Ereignis, aber diese Vorkommen bewirken, dass Ereignisse ausgelöst werden.Some common occurrences, such as copying or moving a file or directory, do not correspond directly to an event, but these occurrences do cause events to be raised. Wenn Sie eine Datei oder ein Verzeichnis kopieren, löst das System ein Created Ereignis in dem Verzeichnis aus, in das die Datei kopiert wurde, wenn dieses Verzeichnis überwacht wird.When you copy a file or directory, the system raises a Created event in the directory to which the file was copied, if that directory is being watched. Wenn das Verzeichnis, von dem kopiert wurde, von einer anderen Instanz von FileSystemWatcherbeobachtet wurde, wird kein Ereignis ausgelöst.If the directory from which you copied was being watched by another instance of FileSystemWatcher, no event would be raised. Beispielsweise erstellen Sie zwei Instanzen von FileSystemWatcher.For example, you create two instances of FileSystemWatcher. FileSystemWatcher1 ist auf "c:\Eigene Dokumente" festgelegt, und "FileSystemWatcher2" ist so festgelegt, dass "c:\Your Documents" angezeigt wird.FileSystemWatcher1 is set to watch "C:\My Documents", and FileSystemWatcher2 is set to watch "C:\Your Documents". Wenn Sie eine Datei aus "meine Dokumente" in "Ihre Dokumente" kopieren, wird ein Created Ereignis von FileSystemWatcher2 ausgelöst, es wird jedoch kein Ereignis für FileSystemWatcher1 ausgelöst.If you copy a file from "My Documents" into "Your Documents", a Created event will be raised by FileSystemWatcher2, but no event is raised for FileSystemWatcher1. Im Gegensatz zum Kopieren werden durch das Verschieben einer Datei oder eines Verzeichnisses zwei Ereignisse erhoben.Unlike copying, moving a file or directory would raise two events. Wenn Sie aus dem vorherigen Beispiel eine Datei von "eigene Dokumente" in "Ihre Dokumente" verschoben haben, wird ein Created Ereignis von FileSystemWatcher2 ausgelöst, und ein Deleted Ereignis wird von FileSystemWatcher1 ausgelöst.From the previous example, if you moved a file from "My Documents" to "Your Documents", a Created event would be raised by FileSystemWatcher2 and a Deleted event would be raised by FileSystemWatcher1.

Note

Allgemeine Dateisystem Vorgänge können mehr als ein Ereignis hervorrufen.Common file system operations might raise more than one event. Wenn eine Datei z. b. von einem Verzeichnis in ein anderes verschoben wird, werden möglicherweise mehrere OnChanged und einige OnCreated-und OnDeleted Ereignisse ausgelöst.For example, when a file is moved from one directory to another, several OnChanged and some OnCreated and OnDeleted events might be raised. Das Verschieben einer Datei ist ein komplexer Vorgang, der aus mehreren einfachen Vorgängen besteht, wodurch mehrere Ereignisse erhöht werden.Moving a file is a complex operation that consists of multiple simple operations, therefore raising multiple events. Ebenso können einige Anwendungen (z. b. Antivirussoftware) weitere Dateisystem Ereignisse auslösen, die von FileSystemWatchererkannt werden.Likewise, some applications (for example, antivirus software) might cause additional file system events that are detected by FileSystemWatcher.

Note

Die Reihenfolge, in der das Created Ereignis im Verhältnis zu den anderen FileSystemWatcher Ereignissen ausgelöst wird, kann sich ändern, wenn die SynchronizingObject-Eigenschaft nicht nullist.The order in which the Created event is raised in relation to the other FileSystemWatcher events may change when the SynchronizingObject property is not null.

Das OnCreated-Ereignis wird ausgelöst, sobald eine Datei erstellt wird.The OnCreated event is raised as soon as a file is created. Wenn eine Datei kopiert oder in ein beobachteter Verzeichnis übertragen wird, wird das OnCreated Ereignis sofort ausgelöst, gefolgt von einem oder mehreren OnChanged Ereignissen.If a file is being copied or transferred into a watched directory, the OnCreated event will be raised immediately, followed by one or more OnChanged events.

Applies to

See also