Windowsマシンでプレーンテキストファイルの変更を監視したい。外部アプリケーションがファイルを更新するときはいつでも、私のアドオンはそれを読み取り、それに応じて動作することになっています。
かなりの量のドキュメントを調べても、Firefoxでこれを行うための直接的な機能を見つけることができませんでした。そこで、次のようなアプローチを思いつきました。
提案してください。
アプローチ1-whileループで{
a)監視対象のディレクトリ内のすべてのファイルを一覧表示します/ nsIFile.exists()を使用
しますb)ファイルが存在する場合は次のステップに進み、そうでない場合はスリープし
ますc)「nsIFile」インターフェイスを使用してファイルの属性「lastModifiedTime」を作成し、最初に保存された値と比較します
。d)1秒間スリープします。
このファイルを読み取るためにNetUtil.asyncFetch
()を使用するつもりです。障害となるのは、a)セキュリティのバイパスb)メインスレッドで呼び出されたときにパフォーマンスが低下することです。
これは本当の意味で非同期ではありませんが..これを「ChromeWorker」スレッドで.jsと呼ぶことができます
上記のアプローチを試しました..
しかし私は眠ることができませんでした..眠る方法がないようです..setTimeOut()は私を助けませんでした
アプローチ2-
少し遠いですが、これが機能するかどうかはわかりません:)
ファイルが存在する場合は、「nsIFile」を「nsIInputStreamPump」として開きます