【发布时间】:2015-05-27 17:19:58
【问题描述】:
我正在尝试确定文件何时被修改。目前我有一个类文件观察者类,其中包含
public class fileObserver extends FileObserver {
public String absolutePath;
public fileObserver(String path) {
super(path, FileObserver.ALL_EVENTS);
absolutePath = path;
}
@Override
public void onEvent(int event, String path) {
if (path == null) {
return;
}
if (event == FileObserver.MODIFY) {
Log.d("change","changed");
}
}
}
在我的主要活动中,我有
fileObserver test = new fileObserver(fullpathnamehere);
test.startWatching();
fullpathnamehere 是我要观察的文件的文件路径。我检查了,文件路径是有效的。谁能告诉我我做错了什么?
【问题讨论】:
-
这里的“fullpathnamenere”是什么...它是一个有效的目录名吗?
-
我检查了,我输入的路径是有效的。我对原始问题进行了编辑以澄清
-
另一件事是 onEvent() 如果“fullpathnamenere”的直接子项被修改则被触发...如果子文件夹或子子文件夹被修改则不会触发...。表示文件观察者不是迭代的。
-
fullpathnamehere 是实际文件的路径。例如:sdcard/stuff.txt
-
你能用 FileManager 检查你的文件 stuff.txt 的真实路径吗?
标签: java android fileobserver