如何使用JDK 7从目录删除中分辨文件删除?

时间:2010-07-08 19:52:22

标签: java java-7 nio filesystemwatcher delete-file

我正在使用JDK 7的WatchService来监控目录。

ENTRY_DELETE事件告诉我条目已被删除。我可以得到该条目的名称,类似于:

WatchEvent<Path> ev = cast(event);
Path name = ev.context();
Path child = dir.resolve(name);

我想知道删除的条目是文件还是文件夹。当然,我尝试了child.isDirectory()但当时没有用,因为该元素不再存在。

有没有任何方法,没有启发式,告诉已删除的元素是文件还是目录?

1 个答案:

答案 0 :(得分:1)

不幸的是,由于WatchService是在本机操作系统的文件事件服务之上构建的,因此它受本机服务提供的信息的限制。 Linux的inotify确实表明删除了哪种类型的文件系统对象,但微软的FileSystemWatcher只提供了名称。