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();
}