zoukankan      html  css  js  c++  java
  • 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();//停止监控

  • 相关阅读:
    [LeetCode] 25.Reverse Nodes in k-Group-2
    [LeetCode] 25.Reverse Nodes in k-Group[UNSOLVED]
    [Leetcode] 24. Swap Nodes in Pairs
    [ProcessTree]How to list process tree / 如何显示进程树
    [Windows事件管理器]安全审核的文档
    [vdebench]文件系统的联机测试
    [Windows]多网卡配置网卡优先级
    [Ubuntu]开机紫屏的解决方法
    [USDA]查询食物热量和微量元素
    [Python]使用timer测量代码的执行速度
  • 原文地址:https://www.cnblogs.com/Jabba93/p/3197036.html
Copyright © 2011-2022 走看看