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

时间:2014-10-26 20:49:33

标签: java remote-access smb watchservice file-watcher

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

干杯, 斯蒂芬妮

1 个答案:

答案 0 :(得分:2)

来自WatchService javadoc

  

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