package org.kodejava.io;
import java.io.IOException;
import java.nio.file.*;
import static java.nio.file.StandardWatchEventKinds.*;
public class WatchServiceGetFilename {
public static void main(String[] args) {
try {
// Create a WatchService and register the logDir path with the
// WatchService for ENTRY_CREATE.
WatchService watcher = FileSystems.getDefault().newWatchService();
Path logDir = Paths.get("F:/Temp");
logDir.register(watcher, ENTRY_CREATE);
while (true) {
WatchKey key;
try {
key = watcher.take();
} catch (InterruptedException e) {
return;
}
for (WatchEvent<?> event : key.pollEvents()) {
if (event.kind() == ENTRY_CREATE) {
// Get the name of created file.
WatchEvent<Path> ev = cast(event);
Path filename = ev.context();
System.out.printf("A new file %s was created.%n",
filename.getFileName());
}
}
key.reset();
}
} catch (IOException e) {
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
private static <T> WatchEvent<T> cast(WatchEvent<?> event) {
return (WatchEvent<T>) event;
}
}
Latest posts by Wayan (see all)
- How do I create a servlet filter to make secure cookies? - April 18, 2024
- How do I configure secure cookies using web.xml? - April 18, 2024
- How do I create a table with multiple header in iText 8? - March 16, 2024
How to get the location of the filename when monitoring a folder and its subfolders. Please help with sample code to do the same.
Hello Amrita,
Use the following snippet to get the full location of the file name.
Thanks Wayan and Amrita…was looking for the full path when you set watch on multiple paths