【发布时间】:2014-06-19 07:55:32
【问题描述】:
我有一个名为 foo.txt 的文件。该文件包含一些文本。我想实现以下功能:
- 我启动程序
- 向文件中写入内容(例如添加一行:
new string in foo.txt) - 我只想获取此文件的新内容。
你能阐明这个问题的最佳解决方案吗?我也想解决相关问题:如果我修改foo.txt,我想看看差异。
我在 Java 中找到的最接近的工具是 WatchService,但如果我理解正确,这个工具只能检测文件系统上发生的事件类型(创建文件或删除或修改)。
【问题讨论】:
-
Java Diff Utils 可能有帮助
-
只用这个文件是不可能得到区别的,除非你能确保每一个修改都是一个附件。
-
@J.Rush 有可能,Java Diff Utils 确实做到了。它基于保存在不同列表中的内容进行文件比较。实际上,您可以将原始文件保存在一个列表中,并在编辑时将其加载到另一个列表中,然后比较两个列表以查看差异。
-
@BackSlash,我认为您提到的列表必须存储在其他文件中,对吗?
标签: java io filesystems diff watchservice