27 Ağustos 2019 Salı

WatchKey Arayüzü - NIO

Giriş
Şu satırı dahil ederiz.
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardWatchEventKinds;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;
pollEvents metodu
Şöyle yaparız.
WatchService watcher = ...;

WatchKey watckKey = watcher.take();
List<WatchEvent<?>> events = watckKey.pollEvents();
for (WatchEvent event : events) {
  if (event.kind() == StandardWatchEventKinds.ENTRY_MODIFY) {
    System.out.println(event.context().toString());
    if (event.context().toString().equals(FILE_NAME)) {
      System.out.println("Modified configuration: " + event.context().toString());
    }
  }
  if (!watckKey.reset()) {
    break;
  }
}
reset metodu
"tail -f" gibi bir dosyayı sürekli izlemek için şöyle yaparız
WatchKey key = ...;
boolean isKeyStillValid = key.reset();
if (!isKeyStillValid) {
  log.trace("monitor - key is no longer valid: " + key);
}
watchable metodu
Şöyle yaparız
System.out.println("Change in " + key.watchable());

Hiç yorum yok:

Yorum Gönder