【发布时间】:2011-09-09 11:21:09
【问题描述】:
我按照Watching a Directory for Changes Java7 nio2 教程使用代码示例WatchDir.java 递归监控目录的全部内容。
虽然这在 Linux 和 Mac 上运行良好,但在 Windows(在 Vista 和 7 上测试)上,尝试使用 Windows 资源管理器删除嵌套的、受监视的文件夹失败,并显示类似于“访问被拒绝:您需要权限才能执行此操作”的消息当文件存在于其中一个嵌套目录中时。
例如,如果我在 Windows 中查看嵌套的文件夹树:
-- Folder A
-- Folder A1
-- File F
并尝试删除文件夹 A,我收到所述访问被拒绝错误。但是,如果我:
- 删除文件夹 A1,然后删除文件夹 A
- 删除文件 F,然后删除文件夹 A
有没有办法使用 nio2 WatchService 递归地监视嵌套目录,而不是像程序正在访问嵌套文件一样?
【问题讨论】:
标签: java windows file nio java-7