监视文本文件以查找Java中的更改

时间:2013-05-14 20:54:04

标签: java text monitor

我正在尝试监视文本文件,以便更改它包含的一行文本。该文件不断被删除并使用相同的名称和路径创建,但内容很少更改。

我正在尝试构造一个if语句,以便在文件内容发生变化时系统将打印到控制台。

我查看过this Stack Overflow question并尝试使用找到on this page的java-diff-utils示例,但我找不到实现它来​​解决问题的方法。

2 个答案:

答案 0 :(得分:0)

“高级”建议:你可以......

  • 在应用初始化时将文件内容包含在自定义对象中,并将其存储在静态变量
  • 为所述对象定义属性,返回表示文件内容的String
  • 使用TimerTask定期实例化表示文件的所述自定义对象的新实例,并...
  • ...比较两个String属性,以便打印出来 后者应该不相等,然后用新实例化的对象
  • 覆盖静态变量的值

请注意,这不是处理重复任务或文件比较的专业方法 - 它只是为了给你一个草稿方向。

答案 1 :(得分:0)

首先生成原始文件的MD5,然后使用后台线程,重新计算MD5并将其与原始文件进行比较。当哈希值发生变化时,文件内容会发生变化。

查看MD5 Hashing Example

如果您使用的是Java 7,则可以使用Watcher Service来监控对文件的更改。这将取代线程