Teilen über


FileSystemWatcher Konstruktoren

Definition

Initialisiert eine neue Instanz der FileSystemWatcher-Klasse.

Überlädt

FileSystemWatcher()

Initialisiert eine neue Instanz der FileSystemWatcher-Klasse.

FileSystemWatcher(String)

Initialisiert eine neue Instanz der FileSystemWatcher-Klasse mit dem für die Überwachung angegebenen Verzeichnis.

FileSystemWatcher(String, String)

Initialisiert eine neue Instanz der FileSystemWatcher-Klasse mit dem für die Überwachung angegebenen Verzeichnis und Dateityp.

FileSystemWatcher()

Quelle:
FileSystemWatcher.cs
Quelle:
FileSystemWatcher.cs
Quelle:
FileSystemWatcher.cs

Initialisiert eine neue Instanz der FileSystemWatcher-Klasse.

public:
 FileSystemWatcher();
public FileSystemWatcher ();
Public Sub New ()

Beispiele

Im folgenden Beispiel wird ein FileSystemWatcher -Objekt erstellt, um das zur Laufzeit angegebene Verzeichnis zu watch. Das FileSystemWatcher -Objekt überwacht Änderungen in LastWrite und LastAccess zu Zeiten sowie das Erstellen, Löschen oder Umbenennen von Textdateien im Verzeichnis. Wenn eine Datei geändert, erstellt oder gelöscht wird, wird der Pfad zur Datei in der Konsole angezeigt. Wenn eine Datei umbenannt wird, werden die alten und neuen Pfade zur Konsole angezeigt.

In diesem Beispiel werden die System.Diagnostics Namespaces und System.IO verwendet.

#include "pch.h"

using namespace System;
using namespace System::IO;

class MyClassCPP
{
public:

    int static Run()
    {
        FileSystemWatcher^ watcher = gcnew FileSystemWatcher("C:\\path\\to\\folder");

        watcher->NotifyFilter = static_cast<NotifyFilters>(NotifyFilters::Attributes
                                                         | NotifyFilters::CreationTime
                                                         | NotifyFilters::DirectoryName
                                                         | NotifyFilters::FileName
                                                         | NotifyFilters::LastAccess
                                                         | NotifyFilters::LastWrite
                                                         | NotifyFilters::Security
                                                         | NotifyFilters::Size);

        watcher->Changed += gcnew FileSystemEventHandler(MyClassCPP::OnChanged);
        watcher->Created += gcnew FileSystemEventHandler(MyClassCPP::OnCreated);
        watcher->Deleted += gcnew FileSystemEventHandler(MyClassCPP::OnDeleted);
        watcher->Renamed += gcnew RenamedEventHandler(MyClassCPP::OnRenamed);
        watcher->Error   += gcnew ErrorEventHandler(MyClassCPP::OnError);

        watcher->Filter = "*.txt";
        watcher->IncludeSubdirectories = true;
        watcher->EnableRaisingEvents = true;

        Console::WriteLine("Press enter to exit.");
        Console::ReadLine();

        return 0;
    }

private:

    static void OnChanged(Object^ sender, FileSystemEventArgs^ e)
    {
        if (e->ChangeType != WatcherChangeTypes::Changed)
        {
            return;
        }
        Console::WriteLine("Changed: {0}", e->FullPath);
    }

    static void OnCreated(Object^ sender, FileSystemEventArgs^ e)
    {
        Console::WriteLine("Created: {0}", e->FullPath);
    }

    static void OnDeleted(Object^ sender, FileSystemEventArgs^ e)
    {
        Console::WriteLine("Deleted: {0}", e->FullPath);
    }

    static void OnRenamed(Object^ sender, RenamedEventArgs^ e)
    {
        Console::WriteLine("Renamed:");
        Console::WriteLine("    Old: {0}", e->OldFullPath);
        Console::WriteLine("    New: {0}", e->FullPath);
    }

    static void OnError(Object^ sender, ErrorEventArgs^ e)
    {
        PrintException(e->GetException());
    }

    static void PrintException(Exception^ ex)
    {
        if (ex != nullptr)
        {
            Console::WriteLine("Message: {0}", ex->Message);
            Console::WriteLine("Stacktrace:");
            Console::WriteLine(ex->StackTrace);
            Console::WriteLine();
            PrintException(ex->InnerException);
        }
    }
};


int main()
{
    MyClassCPP::Run();
}
using System;
using System.IO;

namespace MyNamespace
{
    class MyClassCS
    {
        static void Main()
        {
            using var watcher = new FileSystemWatcher(@"C:\path\to\folder");

            watcher.NotifyFilter = NotifyFilters.Attributes
                                 | NotifyFilters.CreationTime
                                 | NotifyFilters.DirectoryName
                                 | NotifyFilters.FileName
                                 | NotifyFilters.LastAccess
                                 | NotifyFilters.LastWrite
                                 | NotifyFilters.Security
                                 | NotifyFilters.Size;

            watcher.Changed += OnChanged;
            watcher.Created += OnCreated;
            watcher.Deleted += OnDeleted;
            watcher.Renamed += OnRenamed;
            watcher.Error += OnError;

            watcher.Filter = "*.txt";
            watcher.IncludeSubdirectories = true;
            watcher.EnableRaisingEvents = true;

            Console.WriteLine("Press enter to exit.");
            Console.ReadLine();
        }

        private static void OnChanged(object sender, FileSystemEventArgs e)
        {
            if (e.ChangeType != WatcherChangeTypes.Changed)
            {
                return;
            }
            Console.WriteLine($"Changed: {e.FullPath}");
        }

        private static void OnCreated(object sender, FileSystemEventArgs e)
        {
            string value = $"Created: {e.FullPath}";
            Console.WriteLine(value);
        }

        private static void OnDeleted(object sender, FileSystemEventArgs e) =>
            Console.WriteLine($"Deleted: {e.FullPath}");

        private static void OnRenamed(object sender, RenamedEventArgs e)
        {
            Console.WriteLine($"Renamed:");
            Console.WriteLine($"    Old: {e.OldFullPath}");
            Console.WriteLine($"    New: {e.FullPath}");
        }

        private static void OnError(object sender, ErrorEventArgs e) =>
            PrintException(e.GetException());

        private static void PrintException(Exception? ex)
        {
            if (ex != null)
            {
                Console.WriteLine($"Message: {ex.Message}");
                Console.WriteLine("Stacktrace:");
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine();
                PrintException(ex.InnerException);
            }
        }
    }
}
Imports System.IO

Namespace MyNamespace

    Class MyClassVB

        Shared Sub Main()
            Using watcher = New FileSystemWatcher("C:\path\to\folder")
                watcher.NotifyFilter = NotifyFilters.Attributes Or
                                       NotifyFilters.CreationTime Or
                                       NotifyFilters.DirectoryName Or
                                       NotifyFilters.FileName Or
                                       NotifyFilters.LastAccess Or
                                       NotifyFilters.LastWrite Or
                                       NotifyFilters.Security Or
                                       NotifyFilters.Size

                AddHandler watcher.Changed, AddressOf OnChanged
                AddHandler watcher.Created, AddressOf OnCreated
                AddHandler watcher.Deleted, AddressOf OnDeleted
                AddHandler watcher.Renamed, AddressOf OnRenamed
                AddHandler watcher.Error, AddressOf OnError

                watcher.Filter = "*.txt"
                watcher.IncludeSubdirectories = True
                watcher.EnableRaisingEvents = True

                Console.WriteLine("Press enter to exit.")
                Console.ReadLine()
            End Using
        End Sub

        Private Shared Sub OnChanged(sender As Object, e As FileSystemEventArgs)
            If e.ChangeType <> WatcherChangeTypes.Changed Then
                Return
            End If
            Console.WriteLine($"Changed: {e.FullPath}")
        End Sub

        Private Shared Sub OnCreated(sender As Object, e As FileSystemEventArgs)
            Dim value As String = $"Created: {e.FullPath}"
            Console.WriteLine(value)
        End Sub

        Private Shared Sub OnDeleted(sender As Object, e As FileSystemEventArgs)
            Console.WriteLine($"Deleted: {e.FullPath}")
        End Sub

        Private Shared Sub OnRenamed(sender As Object, e As RenamedEventArgs)
            Console.WriteLine($"Renamed:")
            Console.WriteLine($"    Old: {e.OldFullPath}")
            Console.WriteLine($"    New: {e.FullPath}")
        End Sub

        Private Shared Sub OnError(sender As Object, e As ErrorEventArgs)
            PrintException(e.GetException())
        End Sub

        Private Shared Sub PrintException(ex As Exception)
            If ex IsNot Nothing Then
                Console.WriteLine($"Message: {ex.Message}")
                Console.WriteLine("Stacktrace:")
                Console.WriteLine(ex.StackTrace)
                Console.WriteLine()
                PrintException(ex.InnerException)
            End If
        End Sub

    End Class

End Namespace

Hinweise

Sie können keinen Remotecomputer watch, der nicht über Windows NT oder Windows 2000 verfügt. Sie können einen Windows NT 4.0-Remotecomputer nicht von einem Windows NT 4.0-Computer watch.

Die folgende Tabelle zeigt die anfänglichen Eigenschaftswerte für eine instance von FileSystemWatcher.

Eigenschaft Anfangswert
NotifyFilter bitweise OR-Kombination von LastWrite, FileNameund DirectoryName
EnableRaisingEvents false
Filter "*.*" (Alle Dateien überwachen.)
IncludeSubdirectories false
InternalBufferSize 8192
Path leere Zeichenfolge ("")

Hinweis

Die Komponente wird das angegebene Verzeichnis erst watch, wenn festgelegt Path ist und EnableRaisingEvents festgelegt isttrue.

Weitere Informationen

Gilt für:

FileSystemWatcher(String)

Quelle:
FileSystemWatcher.cs
Quelle:
FileSystemWatcher.cs
Quelle:
FileSystemWatcher.cs

Initialisiert eine neue Instanz der FileSystemWatcher-Klasse mit dem für die Überwachung angegebenen Verzeichnis.

public:
 FileSystemWatcher(System::String ^ path);
public FileSystemWatcher (string path);
new System.IO.FileSystemWatcher : string -> System.IO.FileSystemWatcher
Public Sub New (path As String)

Parameter

path
String

Das zu überwachende Verzeichnis in der Standard- oder UNC (Universal Naming Convention)-Notation.

Ausnahmen

Der path-Parameter ist null.

Der path-Parameter ist eine leere Zeichenfolge ("").

- oder -

Der durch den path-Parameter angegebene Pfad ist nicht vorhanden.

path ist zu lang.

Hinweise

Hinweis

Die Komponente wird das angegebene Verzeichnis erst watch, wenn festgelegt Path ist und EnableRaisingEvents festgelegt isttrue.

Die Komponente kann Dateien auf Ihrem Pc, einem Netzlaufwerk oder einem Remotecomputer watch.

Sie können keinen Remotecomputer watch, der nicht über Windows NT oder Windows 2000 verfügt. Sie können einen Windows NT 4.0-Remotecomputer nicht von einem Windows NT 4.0-Computer watch. Die Filter -Eigenschaft ist standardmäßig auf watch alle Dateien festgelegt.

Weitere Informationen

Gilt für:

FileSystemWatcher(String, String)

Quelle:
FileSystemWatcher.cs
Quelle:
FileSystemWatcher.cs
Quelle:
FileSystemWatcher.cs

Initialisiert eine neue Instanz der FileSystemWatcher-Klasse mit dem für die Überwachung angegebenen Verzeichnis und Dateityp.

public:
 FileSystemWatcher(System::String ^ path, System::String ^ filter);
public FileSystemWatcher (string path, string filter);
new System.IO.FileSystemWatcher : string * string -> System.IO.FileSystemWatcher
Public Sub New (path As String, filter As String)

Parameter

path
String

Das zu überwachende Verzeichnis in der Standard- oder UNC (Universal Naming Convention)-Notation.

filter
String

Der zu überwachende Dateityp. Bei "*.txt" werden z. B. alle Textdateien auf Änderungen überwacht.

Ausnahmen

Der path-Parameter ist null.

- oder -

Der filter-Parameter ist null.

Der path-Parameter ist eine leere Zeichenfolge ("").

- oder -

Der durch den path-Parameter angegebene Pfad ist nicht vorhanden.

path ist zu lang.

Hinweise

Hinweis

Die Komponente wird das angegebene Verzeichnis erst watch, wenn festgelegt Path ist und EnableRaisingEvents festgelegt isttrue.

Die Komponente kann Dateien auf Ihrem Pc, einem Netzlaufwerk oder einem Remotecomputer watch.

Sie können keinen Remotecomputer watch, der nicht über Windows NT oder Windows 2000 verfügt. Sie können einen Windows NT 4.0-Remotecomputer nicht von einem Windows NT 4.0-Computer watch.

Weitere Informationen

Gilt für: