使用WatchService监视远程共享文件夹(Windows/SMB)



我正在尝试使用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

如果监视的文件不在本地存储设备上,则如果可以检测到对该文件的更改,则这是特定于实现的。特别是,不需要检测在远程系统上执行的文件更改。

相关内容

  • 没有找到相关文章

最新更新