タグ付けされた質問 「filesystemwatcher」

30
FileSystemWatcher Changedイベントが2回発生する
OverаэтотвопросестьответынаStack Overflowнарусском:КакрешитьповторсобытияchangeвFileSystemWatcher? テキストファイルを探しているアプリケーションがあり、ファイルに変更が加えられている場合は、OnChangedeventhandlerを使用してイベントを処理しています。私は使用してNotifyFilters.LastWriteTimeいますが、それでもイベントが2回発生します。これがコードです。 public void Initialize() { FileSystemWatcher _fileWatcher = new FileSystemWatcher(); _fileWatcher.Path = "C:\\Folder"; _fileWatcher.NotifyFilter = NotifyFilters.LastWrite; _fileWatcher.Filter = "Version.txt"; _fileWatcher.Changed += new FileSystemEventHandler(OnChanged); _fileWatcher.EnableRaisingEvents = true; } private void OnChanged(object source, FileSystemEventArgs e) { ....... } 私の場合、OnChangedテキストファイルを変更してversion.txt保存すると、2回呼び出されます。

13
FileSystemWatcherとポーリングによるファイルの変更の監視
ローカルまたはネットワークドライブ上のディレクトリに作成されるファイルを監視するアプリケーションをセットアップする必要があります。 でしょうFileSystemWatcherかポーリングタイマーには最良の選択肢でしょう。私は過去に両方の方法を使用しましたが、広範囲ではありません。 どちらの方法にもどのような問題(パフォーマンス、信頼性など)がありますか?


3
FileSystemWatcherを使用してディレクトリを監視する
Windowsフォームアプリケーションを使用してディレクトリを監視し、そこにドロップされたファイルを別のディレクトリに移動しています。 現時点では、ファイルを別のディレクトリにコピーしますが、別のファイルが追加されると、エラーメッセージなしで終了します。3つ目で終了する前に2つのファイルをコピーする場合があります。 これは、コンソールアプリではなくWindowsフォームアプリケーションを使用しているためですか?プログラムの終了を止めて、ディレクトリを監視し続ける方法はありますか? private void watch() { this.watcher = new FileSystemWatcher(); watcher.Path = path; watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Filter = "*.*"; watcher.Changed += OnChanged; watcher.EnableRaisingEvents = true; } private void OnChanged(object source, FileSystemEventArgs e) { //Copies file to another directory. } public void Dispose() { …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.