我正在使用JDK 7的WatchService来监控目录。
ENTRY_DELETE
事件告诉我条目已被删除。我可以得到该条目的名称,类似于:
WatchEvent<Path> ev = cast(event);
Path name = ev.context();
Path child = dir.resolve(name);
我想知道删除的条目是文件还是文件夹。当然,我尝试了child.isDirectory()
但当时没有用,因为该元素不再存在。
有没有任何方法,没有启发式,告诉已删除的元素是文件还是目录?
答案 0 :(得分:1)
不幸的是,由于WatchService是在本机操作系统的文件事件服务之上构建的,因此它受本机服务提供的信息的限制。 Linux的inotify确实表明删除了哪种类型的文件系统对象,但微软的FileSystemWatcher只提供了名称。