如果您正在Windows上观看目录,则WatchService实现将打开该目录的句柄(这就是Windows的工作方式)。该打开句柄不会阻止目录被删除,但是会阻止目录的父目录立即被删除。删除监视目录后,该句柄将立即关闭,但是有可能在关闭句柄之前尝试删除该目录。发生这种情况时,您将获得拒绝访问的访问权限。我认为如果您重试它对您来说很好,这是因为在重试时该句柄将关闭。
如果
ExtendedWatchEventModifier.FILE_TREE在
register调用中指定修饰符,则Windows上的Sun
JRE可以使用Windows的watch子树功能,这可以绕过此问题,因为它仅创建一个文件句柄。



