0

我想知道实现以下内容的有效(在时间和内存方面)java代码是什么:

我需要一个java程序来不断检查两个文件,第一个文件让我们称之为A将不断添加产品名称,另一个文件B将是来自不同来源的相应价格。这两个文件都在动态更新。程序要做的是,每当将产品添加到 A 时,它都会将该词添加到列表中,并且只要没有添加新产品,它就会认为从那时起添加到文件 B 的每个新价格都是价格的相应产品。然后它将创建产品和价格的映射。

所以,这是文件

一种

MacBook Pro

戴尔 XPS

联想

(Macbook pro 在文件 A 中添加)

100

200

(戴尔 XPS 添加到文件 A 中)

300

400

(联想在A中添加)

500

600

700

所以它会创建一个映射,比如,

Macbook Pro -> 100,200

戴尔 XPS -> 300、400

联想 -> 500、600、700

上面的例子说明了我想要实现的目标。到目前为止,我的想法是,保持两个线程监视每个文件,每当将产品添加到 A 时从 B 开始计数(标记 B 中的先前位置),每当将新产品添加到 A 时,从 B 从先前标记的位置开始。这是一个正确的方法吗?我怎样才能不断地阅读动态文件?

4

1 回答 1

2

我会使用Apache Commons-IO FileAlterationObserver,这样您就可以使用在文件更改时收到通知的侦听器。

于 2012-10-09T07:34:50.227 回答