FileSystemWatcher Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Lauscht auf änderungsbenachrichtigungen des Dateisystems und löst Ereignisse aus, wenn sich ein Verzeichnis oder eine Datei in einem Verzeichnis ändert.
public ref class FileSystemWatcher : System::ComponentModel::Component, System::ComponentModel::ISupportInitialize
public class FileSystemWatcher : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize
[System.IO.IODescription("FileSystemWatcherDesc")]
public class FileSystemWatcher : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize
type FileSystemWatcher = class
inherit Component
interface ISupportInitialize
[<System.IO.IODescription("FileSystemWatcherDesc")>]
type FileSystemWatcher = class
inherit Component
interface ISupportInitialize
Public Class FileSystemWatcher
Inherits Component
Implements ISupportInitialize
- Vererbung
- Attribute
- Implementiert
Beispiele
Im folgenden Beispiel wird ein FileSystemWatcher Verzeichnis erstellt, das zur Laufzeit angegeben ist. Die Komponente wird so festgelegt, dass Änderungen in LastWrite und LastAccess Zeit, erstellung, Löschung oder Umbenennung von Textdateien im Verzeichnis überwacht werden. Wenn eine Datei geändert, erstellt oder gelöscht wird, wird der Pfad zu der Datei in der Konsole gedruckt. Wenn eine Datei umbenannt wird, werden die alten und neuen Pfade in der Konsole gedruckt.
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
Weitere Informationen zu dieser API finden Sie in den ergänzenden API-Hinweisen für FileSystemWatcher.
Konstruktoren
| Name | Beschreibung |
|---|---|
| FileSystemWatcher() |
Initialisiert eine neue Instanz der FileSystemWatcher-Klasse. |
| FileSystemWatcher(String, String) |
Initialisiert eine neue Instanz der FileSystemWatcher Klasse, wobei das angegebene Verzeichnis und der Typ der zu überwachenden Dateien angegeben sind. |
| FileSystemWatcher(String) |
Initialisiert eine neue Instanz der FileSystemWatcher Klasse, wenn das angegebene Verzeichnis überwacht werden soll. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
| Container |
Ruft das, das IContainer die Component. (Geerbt von Component) |
| DesignMode |
Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit befindet. (Geerbt von Component) |
| EnableRaisingEvents |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Komponente aktiviert ist. |
| Events |
Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind. (Geerbt von Component) |
| Filter |
Dient zum Abrufen oder Festlegen der Filterzeichenfolge, die verwendet wird, um zu bestimmen, welche Dateien in einem Verzeichnis überwacht werden. |
| IncludeSubdirectories |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Unterverzeichnisse innerhalb des angegebenen Pfads überwacht werden sollen. |
| InternalBufferSize |
Ruft die Größe (in Byte) des internen Puffers ab oder legt sie fest. |
| NotifyFilter |
Ruft den Typ der zu überwachenden Änderungen ab oder legt diesen fest. |
| Path |
Ruft den Pfad des zu überwachenden Verzeichnisses ab oder legt diesen fest. |
| Site |
Dient zum Abrufen oder Festlegen eines ISite Werts für die FileSystemWatcher. |
| SynchronizingObject |
Dient zum Abrufen oder Festlegen des Objekts, das zum Marshallen der Ereignishandleraufrufe verwendet wird, die aufgrund einer Verzeichnisänderung ausgegeben wurden. |
Methoden
| Name | Beschreibung |
|---|---|
| BeginInit() |
Beginnt mit der Initialisierung eines in FileSystemWatcher einem Formular verwendeten Formulars oder wird von einer anderen Komponente verwendet. Die Initialisierung erfolgt zur Laufzeit. |
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| Dispose() |
Veröffentlicht alle ressourcen, die von der Component. (Geerbt von Component) |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den FileSystemWatcher verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. |
| EndInit() |
Beendet die Initialisierung eines in FileSystemWatcher einem Formular verwendeten Formulars oder wird von einer anderen Komponente verwendet. Die Initialisierung erfolgt zur Laufzeit. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetLifetimeService() |
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetService(Type) |
Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt wird. (Geerbt von Component) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| InitializeLifetimeService() |
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts. (Geerbt von MarshalByRefObject) |
| OnChanged(FileSystemEventArgs) |
Löst das Changed-Ereignis aus. |
| OnCreated(FileSystemEventArgs) |
Löst das Created-Ereignis aus. |
| OnDeleted(FileSystemEventArgs) |
Löst das Deleted-Ereignis aus. |
| OnError(ErrorEventArgs) |
Löst das Error-Ereignis aus. |
| OnRenamed(RenamedEventArgs) |
Löst das Renamed-Ereignis aus. |
| ToString() |
Gibt einen String mit dem Namen des Component, falls vorhanden, zurück. Diese Methode sollte nicht außer Kraft gesetzt werden. (Geerbt von Component) |
| WaitForChanged(WatcherChangeTypes, Int32) |
Eine synchrone Methode, die eine Struktur zurückgibt, die bestimmte Informationen zu der aufgetretenen Änderung enthält, je nachdem, welche Art von Änderung Sie überwachen möchten, und die Zeit (in Millisekunden), die vor dem Timeout gewartet werden soll. |
| WaitForChanged(WatcherChangeTypes) |
Eine synchrone Methode, die eine Struktur zurückgibt, die bestimmte Informationen zu der aufgetretenen Änderung enthält, je nachdem, welche Art von Änderung Sie überwachen möchten. |
Ereignisse
| Name | Beschreibung |
|---|---|
| Changed |
Tritt auf, wenn eine Datei oder ein Verzeichnis in der angegebenen Path Datei geändert wird. |
| Created |
Tritt auf, wenn eine Datei oder ein Verzeichnis im angegebenen Path Erstellt wird. |
| Deleted |
Tritt auf, wenn eine Datei oder ein Verzeichnis im angegebenen Path Verzeichnis gelöscht wird. |
| Disposed |
Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() Methode verworfen wird. (Geerbt von Component) |
| Error |
Tritt auf, wenn die Instanz der FileSystemWatcher Überwachung von Änderungen nicht fortgesetzt werden kann oder wenn der interne Puffer überläuft. |
| Renamed |
Tritt auf, wenn eine Datei oder ein Verzeichnis in der angegebenen Path Datei umbenannt wird. |