Android FileObserver類可以用來監聽文件或目錄的變化,但是它只能監聽到文件或目錄中的事件,并不能提供事件的精確時間戳。要實現精確監聽,可以結合使用FileObserver和File類的lastModified()方法。
具體做法如下:
public class MyFileObserver extends FileObserver {
public MyFileObserver(String path) {
super(path);
}
@Override
public void onEvent(int event, String path) {
// 文件或目錄發生變化時的處理邏輯
}
}
File file = new File(path);
long lastModifiedTime = file.lastModified();
long currentTime = System.currentTimeMillis();
long diff = currentTime - lastModifiedTime;
if (diff < 1000) {
// 文件或目錄在1秒內發生了變化
} else {
// 文件或目錄未發生變化或變化時間較長
}
通過以上方法,可以實現對文件或目錄變化的精確監聽,并進行相應的處理。