重命名监视文件夹时该怎么办?

时间:2013-08-03 17:45:24

标签: java nio watchservice

在Windows上测试过。观察文件夹a中的更改。当我将观看的文件夹a重命名为b WatchService时,仍会跟踪更改。问题是a不再存在。 (Path)event.context()返回监视文件夹的相对路径。所以,您现在正在查看a文件夹和文件abc.txt已更改。但实际上它放在文件夹b中。

如何获得更改文件的正确绝对路径?

1 个答案:

答案 0 :(得分:0)

我已在Windows 7上确认您的问题。更改(监视的)目录名称后,将报告事件,以便使用原始目录名称解析关联的文件名。使用jpathwatch时也是如此:http://jpathwatch.wordpress.com/https://sourceforge.net/projects/jpathwatch/

通常,您正在观看“已知”或“预期”目录,例如“/ myDropBox”,预计不会更改名称。看起来,如果您希望观看的目录可能会更改其名称,那么您还需要注册其父目录。然后,您将看到原始名称的“删除”事件和新名称的“创建”。