-1

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

我正在尝试构造一个 if 语句,以便如果文件的内容发生更改,那么系统将打印到控制台。

我查看了这个 Stack Overflow 问题并尝试使用此页面上的 java-diff-utils 示例,但我找不到解决问题的方法。

4

2 回答 2

0

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

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

请注意,这几乎不是处理经常性任务或文件比较的专业方法——它只是为了给你一个草稿方向。

于 2013-05-14T21:10:20.337 回答
0

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

查看MD5 哈希示例

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

于 2013-05-14T22:20:02.973 回答