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

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

Linda Hamilton
Linda HamiltonOriginal
2025-01-13 09:56:12251Durchsuche

How Can I Monitor File Changes in C#?

Überwachen Sie Dateiänderungen in C#

Problem: Suche nach einem Mechanismus zur Erkennung von Dateiänderungen auf der Festplatte.

Antwort: Die Klasse FileSystemWatcher bietet eine zuverlässige Lösung.

Anleitung:

FileSystemWatcher Die Klasse überwacht Dateiänderungen im angegebenen Verzeichnis. Wenn eine Änderung auftritt, löst sie ein Ereignis aus, das verarbeitet werden kann, um die gewünschte Aktion auszuführen. Der folgende Code demonstriert die Verwendung von FileSystemWatcher:

<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 += new FileSystemEventHandler(OnChanged);
    watcher.Created += new FileSystemEventHandler(OnChanged);
    watcher.Deleted += new FileSystemEventHandler(OnChanged);
    watcher.Renamed += new RenamedEventHandler(OnRenamed);

    // 开始监控
    watcher.EnableRaisingEvents = true;
}

private static void OnChanged(object source, FileSystemEventArgs e)
{
    // 定义在更改、创建或删除文件时要执行的操作
    Console.WriteLine("文件: " + e.FullPath + " " + e.ChangeType);
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
    // 定义在文件重命名时要执行的操作
    Console.WriteLine("文件: {0} 重命名为 {1}", e.OldFullPath, e.FullPath);
}</code>

In diesem Beispiel ist der Monitor so konfiguriert, dass er Änderungen an Textdateien (*.txt) in einem bestimmten Pfad überwacht. Wenn eine Datei in diesem Pfad geändert, erstellt, gelöscht oder umbenannt wird, wird der entsprechende Ereignishandler aufgerufen, sodass Sie entsprechende Maßnahmen ergreifen können, z. B. das Ereignis protokollieren oder den Status Ihrer Anwendung aktualisieren.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateiä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