Heim >Backend-Entwicklung >C++ >Wie kann ich Dateisystemänderungen in C# überwachen?

Wie kann ich Dateisystemänderungen in C# überwachen?

Susan Sarandon
Susan SarandonOriginal
2025-01-13 06:19:42867Durchsuche

How Can I Monitor File System Changes in C#?

Verwenden Sie FileSystemWatcher, um Dateisystemänderungen in C# zu überwachen

Verwenden Sie in C# die Klasse FileSystemWatcher, um bequem Benachrichtigungen zu erhalten, wenn Dateien auf der Festplatte geändert werden.

Implementierungsmethode:

Die Klasse

FileSystemWatcher bietet einen ereignisbasierten Mechanismus zur Überwachung von Änderungen im Dateisystem. Um diese Funktion zu verwenden, erstellen Sie eine Instanz von FileSystemWatcher, geben Sie den zu überwachenden Pfad an und konfigurieren Sie die erforderlichen Benachrichtigungsfilter.

Codebeispiel:

<code class="language-csharp">public void CreateFileWatcher(string path)
{
    // 创建并配置 FileSystemWatcher
    FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = path;
    watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
    watcher.Filter = "*.txt";

    // 为各种更改类型添加事件处理程序
    watcher.Changed += OnChanged;
    watcher.Created += OnCreated;
    watcher.Deleted += OnDeleted;
    watcher.Renamed += OnRenamed;

    // 启动监视器
    watcher.EnableRaisingEvents = true;
}</code>

Ereignishandler:

Die Klasse

FileSystemWatcher stellt spezifische Ereignishandler für jede Art von Dateisystemänderung bereit. Mit diesen Ereignishandlern können Sie Aktionen definieren, die ausgeführt werden sollen, wenn eine Datei geändert, erstellt, gelöscht oder umbenannt wird.

Zum Beispiel OnChanged kann ein Event-Handler bestimmte Aktionen ausführen, wenn eine Datei geändert wird, etwa die Protokollierung der Änderungen.

Beispiel für die Ereignisbehandlung:

<code class="language-csharp">private static void OnChanged(object source, FileSystemEventArgs e)
{
    Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
}

private static void OnCreated(object source, FileSystemEventArgs e)
{
    Console.WriteLine("File Created: " + e.FullPath);
}

private static void OnDeleted(object source, FileSystemEventArgs e)
{
    Console.WriteLine("File Deleted: " + e.FullPath);
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
    Console.WriteLine("File Renamed: " + e.OldFullPath + " to " + e.FullPath);
}</code>

Mithilfe der FileSystemWatcher-Klasse können Sie Änderungen in Ihrem Dateisystem effektiv überwachen und basierend auf erkannten Änderungen entsprechende Maßnahmen ergreifen.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateisystemänderungen in C# überwachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn