Is there a way to detect file renaming using Java? (NIO's WatchService API or any other) From what I've seen when renaming a file two separate events occur - ENTRY_DELETE and then ENTRY_CREATE.
Asked
Active
Viewed 3,956 times
3 Answers
9
Take a look at jpathwatch. In addition to the standard watch event kinds specified in Java 7 (ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY
) it also has additional events called ENTRY_RENAME_FROM
and ENTRY_RENAME_TO
which will fire when a file is renamed. Note that this depends on whether the underlying operating system supports file renaming events or not.

dogbane
- 266,786
- 75
- 396
- 414
4
Detecting renaming of files can not be done portably. Because, surprising as it may seem, the idea that a file HAS-A name is not portable. Most Unix file systems allow a file to have any number of ASSOCIATED names (including zero names). In the Unix (POSIX) world, renaming means adding a new name and then removing the original name.

Raedwald
- 46,613
- 43
- 151
- 237