私はJnotifyを使ってアプリを書いています。 (JNotifyは、ファイルの変更を検出するためのライブラリです。)ファイルを無視するJnotifyを使用して変更する
アプリは、以下のコンポーネントがあります。
ファイルに書き込み、ファイルライターX
JNotifyを使用して、ファイルウォッチャー(作成します)ファイルXを監視する
ユーザーが要求するファイルXに書き込む外部アプリ(メモ帳など)。
私はJNotifyがXは3を使用して変更されるだけ通知をトリガするために、及び1を介して修飾されたときに無視する(または少なくとも1及び3を介して変更を区別)します。
私はそれを行うことができる簡単な方法はありますか? 1つの方法は、ファイルライターが書き込むときに切り替えられる同期変数を持つことですが、これはあまりエレガントではないと感じています。
ロックファイルは良い考えです。ただし、1がロックファイルを作成し、ロックファイルを作成して削除すると、2に十分な時間がないことがあります。ロックファイルを削除する前に 'Thread.sleep(1000)'を使っています。 – Jus12
ファイルに書き込むときは3を制御できませんが、1が実行されているときはファイルをロックする必要があります。ファイルをロックできず、さらに3を制御できない場合は、常に1 + 3の競合状態の可能性があります。 – PeterMmm