問題タブ [filesystemwatcher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
623 参照

c# - ローカルシステム上のファイルを監視するための複数の FileSystemWatchers?

私たちは、独自の Xml 言語仕様で実行できるアクションを備えた内部会計パッケージ システム用のツールのようなテキスト エディターを作成しています。これらのマクロ コマンドは Xml ファイルで指定されており、開いているファイルが外部で変更されているかどうかを監視する機能が必要です。

唯一の問題は、パスが異なる 20 ~ 30 個のファイルが同時に開かれていることです。このシナリオで複数の FileSystemWatcher を使用するとよいでしょうか? または、ルート ドライブを監視し、エディターで開いているファイルに一致する特定のイベントをキャッチする方がよいでしょうか (ただし、多くのイベントが発生する可能性があります)。

一部はローカル ドライブ (C、D、E) で、その他はネットワーク ドライブ (U、X、G、H) です。ファイルは非常に分厚く、約 300 ~ 400Kb です。

0 投票する
1 に答える
481 参照

.net - 親ディレクトリを保持する FileSystemWatcher

フォルダーを監視するために使用FileSystemWatcherしていますが、フォルダーの親が削除されないように見えますが、フォルダー自体の削除は妨げられません。

たとえば、ファイル構造は次のとおりです。

FileSystemWatcherターゲティングしFolderToWatchます。プログラムの実行中に Windows エクスプローラーで を削除しようとするとRoot、「ルートを削除できません: アクセスが拒否されました」というエラーが表示されます。

ただし、FolderToWatchFIRSTを削除すると、問題Rootなく削除できます。

あなたがそれで遊んでみたいなら、ここにいくつかのコードがあります:

FileSystemWatcherターゲット自体ではなく、ターゲットの親にハングアップするのはなぜですか?

0 投票する
1 に答える
1808 参照

c# - C#FileSystemWatcherロックフォルダー

C#とFileSystemWatcherを使用してフォルダーを監視しようとしています。私が実際に見ているフォルダを削除できるという事実を除いて、すべてがうまく機能します

以前は、ReadDirectoryChangesWを使用してCでこれを行い、フォルダーへのハンドルを作成してロックしました。これにより、ユーザーからそのフォルダーへの削除や名前の変更ができなくなりました(コンテンツではなく、実際の監視対象フォルダーについて話します)。

そのフォルダをロックして、監視中に他の人が削除しないようにする方法はありますか?

(フォルダがFAT32パーティション/ USBドライブなどにある可能性があるため、フォルダへのアクセス許可を変更したくないことに注意してください。これはアクセス許可をサポートしていません)

0 投票する
5 に答える
179 参照

c# - ファイルの変更を監視したり、そのファイルを冗長にクエリしたりする方が効率的ですか?

FileSystemWatcherクラスを使用してファイル/ディレクトリの変更を監視することは、非常にメモリを消費するのではないかと思います。パフォーマンスの低いコンピューターでバックグラウンドで継続的に実行されるデスクトップアプリケーションをC#で開発していますが、さまざまなファイルが変更されているかどうかを確認する方法が必要です。私はいくつかの解決策を考えることができます:

  1. FileSystemWatcherを使用してディレクトリを監視します。
  2. 通過する間隔で時限スレッドを実行し、これを手動でチェックします。
  3. actionhandlerスレッドが実行されるたびに手動で確認してください(プログラムはアクションに対して時々何かを実行します)。

助言がありますか?

ありがとう!

badPanda

0 投票する
1 に答える
284 参照

file - ディレクトリを監視し、ファイルの変更を表示する無料ツール

ディレクトリ(サブディレクトリを含む)を監視し、変更されたファイルとそれらの変更内容のリストを提供するツールを探しています。変更されたファイルを表示するツールをいくつか見つけましたが、それだけでは十分ではありません。

PS誰かがすでに書いているなら、私はそれを書きたくありません。

PS2。退屈している場合は、この質問を閉じてください。ただし、eclipse プラグインの複雑なデータ構造を分析するにはそのツールが必要なので、プログラミングに関連しています。

0 投票する
1 に答える
2095 参照

.net - FileSystemWatcherが一定期間後にイベントを発生させないのはなぜですか?

ウォッチャーからの不確定な期間(<日)のイベントが発生しなかった後、UNCパスに接続されたFileSystemWatcherを利用する小さなvb.netアプリケーションがあります。

ファイル作成イベントをキャプチャし、プロセスファイルコードブ​​ロックにパスを渡します。

0 投票する
1 に答える
75 参照

c# - IDEのFileSystemWatcherイベント

FileSystemWatcherは、変更から削除まで、さまざまな種類のイベントを提供します。Visual Studio 2005を使用してファイルを編集し、メモ帳またはメモ帳++やその他のエディターを使用している場合にイベントを変更すると、なぜイベントが削除されるのか疑問に思いました。

0 投票する
4 に答える
10299 参照

c# - 書き込み中のファイルから読み取ろうとすると、Unhandled Exception: System.IO.IOException が発生するのはなぜですか?

2 つの C# アプリケーションがあり、1 つはファイル (ファイル A) を 1 行ずつ読み取り、その内容を別のファイル (ファイル B) に書き込みます。

2 番目のアプリケーションは、ファイル B の FileSystemWatcher を使用してファイル B が更新されたことを確認し、プログラムが開始されたときとファイルが変更されたときの行番号の違いを報告しています。

今のところやろうとしているのはそれだけです。最終的には、ファイルが最後に読み取られたときと現在の読み取りの間の行を読み取りたいのですが、保留中の行の違いを取得できるまでです。

アプリケーション 1 のコードは次のとおりです。

アプリケーション 2 のコードは次のとおりです。

これら 2 つのアプリケーションを一緒に実行しようとすると、「未処理の例外: System.IO.IOException: 別のプロセスで使用されているため、プロセスはファイルにアクセスできません」という例外が発生します。

私は両方のファイル ストリームを ReadWrite アクセス用にセットアップしており、ファイル ストリームの 1 つを FileAccess.Write 用にセットアップし、もう 1 つを FileAccess.Read 用にセットアップしています。

なぜこの例外が発生するのかについての手がかりはありますか?

ありがとうございます。

0 投票する
1 に答える
321 参照

java - JDK 7を使用してファイルの削除とディレクトリの削除を区別するにはどうすればよいですか?

ディレクトリを監視するためにJDK 7のWatchServiceを使用しています。

このENTRY_DELETEイベントは、エントリが削除されたことを示しています。次のようなことを行って、そのエントリの名前を取得できます。

削除されたエントリがファイルかフォルダかを知りたいです。当然、試してみchild.isDirectory()ましたが、要素がもう存在しないため、もちろんうまくいきませんでした。

ヒューリスティックを使わずに、削除された要素がファイルかディレクトリかを判断する方法はありますか?

0 投票する
5 に答える
6201 参照

c# - FileSystemWatcher と Windows 7

ネットワーク ディレクトリを監視し、Windows Server 2008 マシンで実行するツールを作成しています。FileSystemWatcher の OnChanged イベントは、Windows 7 を使用していないコンピューターによってネットワーク ドライブに配置されたファイルから正しく起動されています。コピーされたファイルの量が Windows 7 コンピューターで (一度に) 19 を超える場合、イベントは発生しませんが、ファイルが個別に実行された場合は機能します。これに対する回避策はありますか、それとも Windows 7 カーネルが FSW イベントでどのように動作するかということですか?

XPマシンからコピーした場合、何千ものファイルに対して機能することを明確にするために。(ソフトウェアはまだ 2008 サーバー マシンにあります)。