如何使监视目录服务来监视多个文件夹

时间:2012-11-13 20:34:18

标签: java monitoring

JDK7的java.nio.file包有一个WatchService来支持文件更改通知。我成功监控了一个目录,但是我有一个String数组,其中包含需要并行监控的目录(如d:\channel1 d:\channel2 d:\channel3 d:\channel4 {{1 }})。

在监视中,我们将传递目录名并提供无限循环,因此它会一直监视目录而不关闭循环。但是现在我有一个包含需要监视的目录的数组字符串。但是这个目录是从XML配置并解析它并获取目录名,因此在功能中可能会增加或减少要监视的目录(根据XML配置,目录是动态的)。所以我在String数组中获取这些目录。由于这个服务是无限循环,当我循环遍历String数组时,它不会移动到下一个目录。

下面是我循环遍历String数组的代码。

d:\channel5

1 个答案:

答案 0 :(得分:0)

我很高兴我通过将上面的make更改为无限forloop来修复它

for(;;){
for(String str : path){
    Path dir = Paths.get(str);
    new WatchDir(dir, true).processEvents();
}
}