FileWatcher
変更を追跡するためにxmlファイルを監視するために使用しています。ファイルの内容が変更されたとき、ファイルの名前が変更されたとき、または削除されたときに、何らかのメソッドを起動したいだけです。
これにはイベントへのサブスクライブChanged
で十分ですか?
他のイベントもサブスクライブする必要がありますか?
FileWatcher
変更を追跡するためにxmlファイルを監視するために使用しています。ファイルの内容が変更されたとき、ファイルの名前が変更されたとき、または削除されたときに、何らかのメソッドを起動したいだけです。
これにはイベントへのサブスクライブChanged
で十分ですか?
他のイベントもサブスクライブする必要がありますか?
必要なすべてのアクションを監視するには、すべてのイベント (作成、変更、削除、更新) をリッスンする必要があります。
サンプルは次のとおりです。
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.
}