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

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

Patricia Arquette
Freigeben: 2025-01-13 09:15:47
Original
406 Leute haben es durchsucht

How Can I Monitor File Changes in C# Using FileSystemWatcher?

Überwachen Sie Dateiänderungen mit dem FileSystemWatcher von C#

In einer C#-Anwendung müssen Sie möglicherweise Dateiänderungen auf der Festplatte erkennen. Dies kann einfach über die vom .NET Framework bereitgestellte FileSystemWatcher-Klasse erreicht werden.

Verwenden Sie FileSystemWatcher, um die Erkennung von Dateiänderungen zu implementieren

  1. Erstellen Sie eine FileSystemWatcher-Instanz: Initialisieren Sie eine Instanz mit dem FileSystemWatcher-Konstruktor. Legen Sie das Path-Attribut auf das zu überwachende Verzeichnis oder die zu überwachende Datei fest.
  2. Konfigurieren Sie Überwachungsfilter: Verwenden Sie die NotifyFilter-Eigenschaft, um die Art der zu erkennenden Änderungen anzugeben. Zu den gängigen Optionen gehören LastAccess, LastWrite, FileName und DirectoryName.
  3. Dateitypen filtern (optional): Beschränken Sie Überwachungsvorgänge auf bestimmte Dateitypen, indem Sie die Filtereigenschaft festlegen. Um beispielsweise nur Textdateien zu überwachen, stellen Sie den Filter auf „*.txt“ ein.
  4. Ereignishandler hinzufügen: Registrieren Sie einen Ereignishandler, um Benachrichtigungen zu erhalten, wenn Dateiänderungen auftreten. Zu den üblichen Ereignissen gehören „Geändert“, „Erstellt“, „Gelöscht“ und „Umbenannt“.
<code class="language-csharp">private static void OnChanged(object source, FileSystemEventArgs e)
{
    // 当文件更改、创建或删除时,实现所需的动作。
    Console.WriteLine($"文件: {e.FullPath} {e.ChangeType}");
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
    // 定义在文件重命名时要执行的动作。
    Console.WriteLine($"文件: {e.OldFullPath} 重命名为 {e.FullPath}");
}</code>
Nach dem Login kopieren
  1. Überwachung starten: Setzen Sie die Eigenschaft „EnableRaisingEvents“ auf „true“, um die Überwachung zu starten. Wenn diese Funktion aktiviert ist, lösen alle Änderungen im angegebenen Ordner oder in der angegebenen Datei den entsprechenden Ereignishandler aus.

Beispielcode:

Der folgende Codeausschnitt zeigt, wie FileSystemWatcher zum Überwachen von Textdateien in einem bestimmten Verzeichnis verwendet wird:

<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 += OnChanged;
    watcher.Deleted += OnChanged;
    watcher.Renamed += OnRenamed;

    // 开始监控。
    watcher.EnableRaisingEvents = true;
}</code>
Nach dem Login kopieren

Durch die Implementierung dieses Mechanismus können C#-Anwendungen Dateiänderungen auf der Festplatte effektiv verfolgen und darauf reagieren und so eine Echtzeit-Datensynchronisierung, Versionskontrolle und andere wichtige Vorgänge ermöglichen.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage