java文件复制,不包括已经复制的文件

时间:2015-11-26 09:56:23

标签: java file

我正在尝试将文件从一个文件夹复制到另一个服务器中,该文件夹中的文件是定期生成的。

首先,我正在复制在该文件夹中生成的文件,这很好。过了一段时间我想复制新生成的文件,不包括旧文件。

是否有任何java API来复制新生成的文件,不包括文件夹中已经复制的文件?

1 个答案:

答案 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您可以找到更多详细信息,以及如何确定已更改的内容。