3

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

ENTRY_DELETE事件告诉我一个条目已被删除。我可以通过以下方式获取该条目的名称:

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

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

有没有什么方法可以在没有启发式的情况下判断被删除的元素是文件还是目录?

4

1 回答 1

1

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

于 2010-07-08T22:23:08.053 回答