0

FileWatcher変更を追跡するためにxmlファイルを監視するために使用しています。ファイルの内容が変更されたとき、ファイルの名前が変更されたとき、または削除されたときに、何らかのメソッドを起動したいだけです。

これにはイベントへのサブスクライブChangedで十分ですか?

他のイベントもサブスクライブする必要がありますか?

4

1 に答える 1

2

必要なすべてのアクションを監視するには、すべてのイベント (作成、変更、削除、更新) をリッスンする必要があります。

サンプルは次のとおりです。

public void init() {

    FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = "path/to/file";

    watcher.NotifyFilter = NotifyFilters.LastAccess
            | NotifyFilters.LastWrite | NotifyFilters.FileName
            | NotifyFilters.DirectoryName;
    // Only watch text files.
    watcher.Filter = "*.txt";

    // Add event handlers.
    watcher.Changed += new FileSystemEventHandler(OnChanged);
    watcher.Created += new FileSystemEventHandler(OnChanged);
    watcher.Deleted += new FileSystemEventHandler(OnChanged);
    watcher.Renamed += new RenamedEventHandler(OnRenamed);

    // Begin watching.
    watcher.EnableRaisingEvents = true;

}

// Define the event handlers.
private static void OnChanged(object source, FileSystemEventArgs e) {
    // Specify what is done when a file is changed, created, or deleted.        
}

private static void OnRenamed(object source, RenamedEventArgs e) {
    // Specify what is done when a file is renamed.     
}
于 2012-10-12T03:41:59.267 に答える