先介绍一下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,进行需要的操作。