Andorid 之 FileObserver

当我们要对一个文件或者文件夹进行监听的时候,我们可以使用android api中的android.os.FileObserver

FileObsserver是一个抽象类,用户需要实现一个onEvent的函数里面可以实现对文件状态的监控

文件的状态一共有

int
ACCESS
Event type: Data was read from a file   读取文件内容

int
ALL_EVENTS
Event mask: All valid event types, combined 所有的事件

int
ATTRIB
Event type: Metadata (permissions, owner, timestamp) was changed explicitly 文件权限,用户和修改时间被改变

int
CLOSE_NOWRITE
Event type: Someone had a file or directory open read-only, and closed it 仅仅读取文件后关闭

int
CLOSE_WRITE
Event type: Someone had a file or directory open for writing, and closed it 打开写了文件后关闭

int
CREATE
Event type: A new file or subdirectory was created under the monitored directory 一个文件被创建在当前文件夹

int
DELETE
Event type: A file was deleted from the monitored directory 当前文件夹有文件被删除

int
DELETE_SELF
Event type: The monitored file or directory was deleted; monitoring effectively stops 当前目录或文件被删掉

int
MODIFY
Event type: Data was written to a file 正在写入数据

int
MOVED_FROM
Event type: A file or subdirectory was moved from the monitored directory 一个文件或者文件夹在移出文件夹

int
MOVED_TO
Event type: A file or subdirectory was moved to the monitored directory 一个文件或者文件夹在移进文件夹

int
MOVE_SELF
Event type: The monitored file or directory was moved; monitoring continues 当前文件或文件夹被移走

int
OPEN
Event type: A file or directory was opened 文件被打开

使用示例

下面的代码,表示当当前文件夹有文件创建或者删除的时候刷新目录

          FileObserver observer = new FileObserver(mDirectory.getPath(), FileObserver.CREATE | FileObserver.DELETE) {
               public void onEvent(int event, String path) {

                   mHandler.post(mUpdateFiles);
               }
          };
          observer.startWatching();//开始监控

          observer.stopWatching();//停止监控

    原文作者:@47
    原文地址: https://www.cnblogs.com/Jabba93/p/3197036.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞