我正在尝试将文件从一个文件夹复制到另一个服务器中,该文件夹中的文件是定期生成的。
首先,我正在复制在该文件夹中生成的文件,这很好。过了一段时间我想复制新生成的文件,不包括旧文件。
是否有任何java API来复制新生成的文件,不包括文件夹中已经复制的文件?
答案 0 :(得分:0)
您可以使用WatchService来检测目录中的新文件或已更改的文件。注册如下:
Path dir = ...;
try {
WatchKey key = dir.register(watcher,
ENTRY_CREATE,
ENTRY_MODIFY);
} catch (IOException x) {
System.err.println(x);
}
然后你可以使用类似的东西做出反应:
// wait for key to be signaled
WatchKey key;
try {
key = watcher.take();
} catch (InterruptedException x) {
return;
}
Here您可以找到更多详细信息,以及如何确定已更改的内容。