业务需求:
想要监听文件夹下的指定文件增加或者减少,若增加则将文件名插入数据库,减少则将文件名从数据库删除。
时间轮询方案:
已用commons-io组件实现此功能需求。
但是用时间轮询感觉会实时消耗一部分资源,且占用一个监听线程。在本项目中线程对我来说非常珍贵,因此我想有没有其他策略,可以在指定文件夹下文件新增或者减少时,才触发监听事件?
业务需求:
想要监听文件夹下的指定文件增加或者减少,若增加则将文件名插入数据库,减少则将文件名从数据库删除。
时间轮询方案:
已用commons-io组件实现此功能需求。
但是用时间轮询感觉会实时消耗一部分资源,且占用一个监听线程。在本项目中线程对我来说非常珍贵,因此我想有没有其他策略,可以在指定文件夹下文件新增或者减少时,才触发监听事件?
Jdk7的nio包下有一个FileWatch(好像是这名儿),可以实现。不过本质都一样,也是靠一个线程轮询最后修改时间。
没有不需要时间轮询的例子吗?
据我所知,好像没。都是靠轮询完成!除非操作系统提供了这种通知接口。你可以找找看,找到了记得分享分享。
好的嘞,目前还是才有Java commons-io的文件监听事件,后续有好的替代方案会及时更新到这!