我有一个大型目录,其中包含由不同时间间隔的单独系统修改的文件。我正在此目录上运行一个观察程序来检测哪些文件被修改。
我想知道当系统访问文件进行修改时是否存在某种触发器。如果是,则适用以下规定:
使用Java,是否可以检测哪些文件即将被修改并在此之前进行临时备份?
或者,是否可以将新修改的文件与之前的版本进行比较?
在这种情况下,由于文件很大并且存在很多文件,因此无法对每个文件进行备份。
示例:
我有四个文件:
a.xml
b.xml
c.xml
d.log
b.xml添加了新的部分。
是否可以将新创建的部分复制到d.log中?
答案 0 :(得分:3)
我可以想出一种可能解决问题的方法。 “维护一个日志文件,该文件跟踪每个文件的lastModified日期,您可以使用日志文件验证哪个文件已被修改。
- Jitendra
答案 1 :(得分:1)
您如何知道文件是否即将被修改?系统处理所有文件IO。您可以这样做的唯一方法是让执行修改的程序触发备份,然后进行修改。相比之下,这取决于你想要什么。如果您想要逐行比较,那么使用Java的文件IO类应该相当简单。如果您只想检查它们是否相同,则可以对这两个文件使用校验和。
答案 2 :(得分:1)
没有。您无法检测到要修改的文件。直到他们提出一个非常准确的未来预测AI系统。
您最好的方法是维护文件的版本化备份。我将首先研究一些源代码管理系统设计注意事项。