1

JDK7 のjava.nio.fileパッケージには、WatchServiceファイル変更通知をサポートするための があります。1 つのディレクトリの監視には成功していますが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

上記のmake for loopをinfinite forloopに変更することで修正できてとても嬉しかったです

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