FileObserver文件监听

xiaoxiao2021-02-28  105

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();//停止文件监听
转载请注明原文地址: https://www.6miu.com/read-63271.html

最新回复(0)