0

以下を実装するための効率的な(時間とメモリの観点から)Javaコードは何かを知りたい:

2 つのファイルを継続的にチェックするには、Java プログラムが必要です。最初のファイルを A と呼び、製品名が継続的に追加され、別のファイル B が別のソースからの対応する価格になります。両方のファイルが動的に更新されています。プログラムが行うことは、製品がAに追加されるたびにその単語をリストに追加し、新しい製品が追加されない限り、その時点からファイルBに追加されたすべての新しい価格を価格と見なすことです.対応する製品の。次に、製品と価格のマッピングを作成します。

だから、ここにファイルがあります

マックブックプロ

デルの XPS

レノボ

B

(ファイル A に Macbook pro を追加)

100

200

(Dell XPS はファイル A に追加されます)

300

400

(AにLenovoを追加)

500

600

700

したがって、次のようなマッピングが作成されます。

Macbook Pro -> 100,200

デル XPS -> 300、400

レノボ -> 500、600、700

上記の例は、私が達成しようとしていることを示しています。これまでの私の考えは、各ファイルに 2 つのスレッド モニターを保持し、製品が A に追加されるたびに B からカウントを開始し (B の前の位置をマークする)、新しい製品が A に追加されるたびに、以前にマークされた位置から B から開始することです。これは正しいアプローチですか?また、動的ファイルを常に読み取るにはどうすればよいですか?

4

1 に答える 1

2

Apache Commons-IO FileAlterationObserverを使用します。これにより、ファイルが変更されたときに通知を受け取るリスナーを使用できます。

于 2012-10-09T07:34:50.227 に答える