在开发中经常会用到监控文件或是目录的状态,如果你还在手写轮巡扫描文件的话,那你久out了。
1. Commons io为我们提供了一套可靠、高性能的一套文件系统监控API
1.1. 需要的jar包如下,具体版本可根据自己需要选取:
commons-logging-1.1.1.jar
log4j-1.2.15.jar
1.2. 在文件监控系统的中,首先要理解几个角色:
Observer:观察者,拥有文件路径、文件过滤器、文件比较器(监控器用它来判断文件的状态变化:新增、修改、删除、等等),可以向他添加相关的监听器;
Listener:监听器,当文件系统发生变化时,将会执行它的相关方法。其实,在文件状态发生变化时,观察者会根据文件比较器来拿到文件的变化状态,根据变化状态的不同来调用监听器中不同的方法;
Monitor:监控器,可设置监控文件系统的时间间隔、文件观察者等信息。
1.3. 代码实现步骤如下:
1.3.1. 实现监听器
importjava.io.File;importorg.apache.commons.io.monitor.FileAlterationListenerAdaptor;importorg.apache.commons.io.monitor.FileAlterationObserver;importorg.apache.commons.logging.Log;importorg.apache.commons.logging.LogFactory;/*** 文件监听器
*@authorleocook(leocook@163.com)
*@