1

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

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

下面是我循环字符串数组的代码。

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

1 回答 1

0

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

for(;;){
for(String str : path){
    Path dir = Paths.get(str);
    new WatchDir(dir, true).processEvents();
}
}
于 2012-11-13T22:21:06.443 回答