文件夹监听器(监听文件夹下所有文件及文件夹)

本文介绍了FileObserver在Android中用于监听文件夹及其内容变化的原理和使用方法,详细解析了CREATE、ACCESS、MODIFY等不同事件类型,并提供了示例代码,展示如何监听SDCard目录的创建事件。通过自定义FileObserver子类并启动和停止监听,可以实现对文件夹及子文件夹内所有文件的监控。

先介绍一下FileObserver

    FileObserver监听事件的类型:

    1.CREATE:有新文件创建时触发
    2.OPEN:有文件被打开时触发
    3.ACCESS:有文件内容被读取时触发,如通过流读取文件内容等
    4.MODIFY:文件内容被修改时触发,如粘贴文件等
    5.ATTRIB:文件属性被修改,如 chmod、chown、touch 等
    6.CLOSE_NOWRITE:打开了文件但是没有编辑后关闭
    7.CLOSE_WRITE:打开了文件并且编辑后关闭
    8.DELETE:有文件被删除
    9.MOVE_FROM:剪切文件的来源
    10.MOVE_TO:粘贴剪切的文件
    11.ALL_EVENTS:所有上述事件都会触发此事件
    12.DELETE_SELF:自删除,即一个可执行文件在执行时删除自己。
    13.MOVE_SELF:自移动,即一个可执行文件在执行时移动自己。
    14.CLOSE:文件被关闭,等同于(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)。

    说明:FileObserver并不是只有上述的事件才能触发onEvent事件。

    创建文件夹的事件在上述的类型中并不包括,需要自己根据onEvent事件的path参数来判断得出。这里提供一个方法:在遍历文件夹内的内容时,将所有的文件filePath目录存入mFilePaths中,首先判断onEvent事件的path参数是否是上述事件中的一种,如果不是的话使用path创建File对象,如果判断出File对象是目录,则此为新建文件夹的FilePath,进行需要的操作。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值