0

我目前有一个通过网络监视远程文件夹的 java 程序。如果添加或删除文件,日志中将填充此信息。

如果与文件夹的连接断开并重新连接,监视器将照常恢复。

但是,我遇到的一个错误是,如果连接断开,则将文件添加到文件夹中,然后重新建立连接,监视器不会填充日志以反映已添加此文件。如果它被删除,那么日志仍然会相应地更新。

我正在使用 WatchService 和 WatchKey 来监视文件夹,我相信这是发生错误的地方。重新连接时,即使添加了文件,Key 值仍为 null。在重新连接以确保发现任何新文件时,是否有分配除 null 以外的值?

    WatchService service = fs.newWatchService();
    //Need an assignment other than service.poll()
    WatchKey key = service.poll(POLLING_INTERVAL , TimeUnit.SECONDS);
    populateLog("KEY: "+key);//Debuging
    // Dequeuing events
    if(key!=null){ Populate logs...
4

0 回答 0