Java文件监视器

时间:2015-10-16 11:38:19

标签: java watchservice file-monitoring

我目前有一个通过网络监控远程文件夹的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...

0 个答案:

没有答案