我正在尝试检测何时在Windows中移动或重命名文件,然后我想使用该更改来更新数据库。
当我说文件移动时:我的意思是从“... / A / foo.txt”到“... / B / foo.txt”从一个目录移动到另一个目录。 当我说文件重命名时:我的意思是重命名,但保持在同一目录“... / A / foo.txt”到“... / A / bar.txt”
我知道linux和大多数人都把它们视为同一件事,而就我的目的而言,它们是同一回事。我只是想知道之后的实际文件路径,并且能够将它与原始文件路径匹配,即使在批量移动的情况下也是如此。
我正在使用python作为父程序,但我愿意使用任何编码语言,尽管它最好是Java / Python /某种形式的C。
答案 0 :(得分:3)
如果您使用的是Java 7,则可以使用WatchService
和WatchKey
。这是观察目录的观察者,每次更改,创建或删除某些内容时,您都可以执行操作/文件处理。
答案 1 :(得分:0)
我建议使用watchdog python模块https://github.com/gorakhargosh/watchdog
它可以处理这些情况以及其他文件系统事件
答案 2 :(得分:0)
在Java(WatchService和WatchKey)中 - http://docs.oracle.com/javase/tutorial/essential/io/notification.html
在Python(看门狗)中 - https://pypi.python.org/pypi/watchdog