FileObserver文件监听

来源:互联网 发布:转行做网络运营 编辑:程序博客网 时间:2024/05/20 13:12

FileObserver是一个监听文件的创建、删除、更改,移动等操作的抽象类

  • 监听的事件类型:

    FileObserver.ACCESS,即文件被访问
    FileObserver. MODIFY,文件被 修改
    FileObserver.ATTRIB,文件属性被修改,
    FileObserver.CLOSE_WRITE,可写文件被 close
    FileObserver.CLOSE_NOWRITE,不可写文件被 close
    FileObserver.OPEN,文件被 open
    FileObserver. MOVED_FROM,文件被移走,
    FileObserver.MOVED_TO,文件被移来,
    FileObserver.CREATE,创建新文件
    FileObserver.DELETE,文件被删除,
    FileObserver.DELETE_SELF,自删除,即一个可执行文件在执行时删除自己
    FileObserver. MOVE_SELF,自移动,即一个可执行文件在执行时移动自己
    FileObserver.CLOSE,文件被关闭,等同于(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)
    FileObserver.ALL_EVENTS,包括上面的所有事件

demo:1。自定义自己的FileObserver类public class MyFileObserver extends FileObserver {    //如此构造的对象监听所有FileObserver可以监听的事件,path为需监听的文件路径    public MyFileObserver(String path) {        super(path);    }    //这样构造的对象只监听mask对应的事件    public MyFileObserver(String path, int mask) {        super(path, mask);    }    //需要实现的方法(当触发监听事件时系统会自动回调该方法)    @Override    public void onEvent(int event, String path) {        switch (event) {            case FileObserver.CREATE:                //执行的逻辑                break;            case FileObserver.DELETE:                //执行的逻辑                break;        }    }}2.在需要的地方开始监听  MyFileObserver observer = new MyFileObserver(path);  observer.startWatching();//启动文件监听  observer.stopWatching();//停止文件监听
原创粉丝点击