1

csvファイルを読み取ってTableModelに入れるプログラムを作成しました。私の問題は、プログラムを拡張して、csvファイルが外部から変更を取得した場合に、テーブルモデルが更新されて新しい値を取得するようにすることです。

ここで、スレッドが約1分間スリープし、ファイルのタイムスタンプが変更されたかどうかを毎分チェックするようにスケジューラーをプログラムします。その場合、ファイルを再度読み取ります。しかし、スケジューラーを使用すると、プログラム全体がどうなるかわかりません。これは、私が作成するこの小さなソフトウェアが、JDK 6で実行されているはるかに大きなソフトウェアの一部になるためです。したがって、パフォーマンスが高く、大きなソフトウェアから独立しているものを探します。テーブルモデルの変更を取得するためのソリューション。

誰かが助けることができますか?

4

2 に答える 2

1

java.nio.fileパッケージにWatch Service APIが含まれるようになりました。これは、効果的に:

この API を使用すると、1 つまたは複数のディレクトリを監視サービスに登録できます。登録時に、関心のあるイベントのタイプ (ファイルの作成、ファイルの削除、またはファイルの変更) をサービスに伝えます。サービスが対象のイベントを検出すると、登録されたプロセスに転送されます。登録されたプロセスには、登録されたイベントの監視専用のスレッド (またはスレッドのプール) があります。イベントが発生すると、必要に応じて処理されます。

こちらのリファレンスを参照してください

おー!この API は、JDK 7 (以降) からのみ使用できます。

于 2012-10-27T13:19:45.557 に答える