我正在尝试使用WatchService(java.nio.file.*)监视远程文件夹。本地文件夹一切正常。然而,我无法弄清楚如何监控远程共享。我可以传递凭证吗?
(如果执行代码的用户有权挂载共享,那么也能正常工作。)
以下是我的部分代码:
public void lunch() throws IOException {
boolean recursive = true;
Path dir = Paths.get("C:\test");
new Watch(dir, recursive).processEvents();
}
public Watch(Path dir, boolean recursive) throws IOException {
this.watcher = FileSystems.getDefault().newWatchService();
this.keys = new HashMap<WatchKey,Path>();
this.recursive = recursive;
if (recursive) {
System.out.format("Scanning %s ...n", dir);
registerAll(dir);
System.out.println("Done.");
} else {
register(dir);
}
}
干杯,Stephanie
来自WatchService javadoc
如果监视的文件不在本地存储设备上,则如果可以检测到对该文件的更改,则这是特定于实现的。特别是,不需要检测在远程系统上执行的文件更改。