sandbox-java/mon_dir/src/main/java/de/swingbe/mon_dir/Main.java

47 lines
1.7 KiB
Java
Raw Normal View History

2021-11-23 18:20:40 +01:00
package de.swingbe.mon_dir;
import java.io.IOException;
import java.nio.file.*;
public class Main {
2021-11-30 21:01:16 +01:00
private static final String FOLDER="/opt/npm";
2021-11-23 18:20:40 +01:00
public static void main(String[] args) throws IOException,
InterruptedException {
2021-11-30 21:01:16 +01:00
Path folder = Paths.get(FOLDER);
2021-11-23 18:20:40 +01:00
//obtain WatchService instance using FileSystems class
WatchService watchService = FileSystems.getDefault().newWatchService();
//register a Path instance for events using a WatchService instance
folder.register(watchService, StandardWatchEventKinds.ENTRY_CREATE,
StandardWatchEventKinds.ENTRY_MODIFY);
2021-11-23 18:20:40 +01:00
boolean valid = true;
do {
WatchKey watchKey = watchService.take();
for (WatchEvent event : watchKey.pollEvents()) {
WatchEvent.Kind kind = event.kind();
if (StandardWatchEventKinds.ENTRY_CREATE.equals(event.kind())) {
String fileName = event.context().toString();
System.out.println("File created:" + fileName);
2021-11-23 18:20:40 +01:00
} else if (StandardWatchEventKinds.ENTRY_MODIFY.equals(event.kind())) {
2021-11-29 20:30:30 +01:00
Path context = (Path) event.context();
String fileName = context.toString();
2021-11-23 18:20:40 +01:00
System.out.println("File modified:" + fileName);
} else if (StandardWatchEventKinds.ENTRY_DELETE.equals(event.kind())) {
String fileName = event.context().toString();
System.out.println("File deleted:" + fileName);
} else {
2021-11-30 21:01:16 +01:00
System.out.println("Event unknown");
2021-11-23 18:20:40 +01:00
}
valid = watchKey.reset();
}
}
while (valid);
}
}