我需要编写一个java代码来检测对文本文件所做的更改,并且还通知在更改文本文件时对文本文件所做的更改(例如)如果在文本文件中将单词ABCD更改为BCDA,则我需要通知ABCD已更改为BCDA。能告诉我是否可以使用java(仅使用开源,没有付费或商业工具)来实现这一目标
答案 0 :(得分:1)
请参阅http://commons.apache.org/io/api-release/index.html?org/apache/commons/io/monitor/package-summary.html了解一个开源库,它可以让您查看文件以进行更改。
编辑:请注意,这将报告发生了更改,但未报告更改的特定行。如果你想实时发生差异,你可能必须自己运行差异:我不确定是否存在任何能为你做差异的预先打包的代码。
答案 1 :(得分:1)
对于更标准的解决方案,您还可以查看JSR 203 backport for Java 6。它提供了File Scanner功能,与即将推出的Java运行时兼容。
答案 2 :(得分:0)
听起来你想要运行实时差异。
跟踪文件的“旧”版本。然后有一段代码每5分钟运行一次,或者你需要的细粒度。使用您自己的方法或库方法在这两个文件之间运行差异(请参阅java-diff-utils)。