我正在尝试确定文件被修改的时间。目前我有一个类文件观察器类,它包含
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这里是我试图观察的文件的文件路径。我检查过了,文件路径是有效的。有人能告诉我我哪里做错了吗?
发布于 2015-05-28 01:34:59
未调用方法onEvent(),因为路径不正确:
event fileObserver test = new fileObserver(fullpathnamenere);
test.startWatching();检查您的文件路径是否正确!
尝试使用:
String fullpathnamenere = Environment.getExternalStorageDirectory().getPath() + "/stuff.txt";更新:
我发现(感谢Mark Murphy先生) FileObserver不是递归的!
检查此
我建议使用RecursiveFileObserver
发布于 2015-05-28 01:37:51
像这样更改您的onEvent()方法...
@Override
public void onEvent(int event, String path) {
if (path == null) {
return;
}
if ((FileObserver.MODIFY & event)!=0&&path.equals("file_name")) {
Log.d("change","changed");
}
}在活动中
fileObserver test = new fileObserver(parent_dir_path_of_the_file);
test.startWatching();发布于 2017-09-26 20:53:33
你必须检查的东西:
https://stackoverflow.com/questions/30489189
复制相似问题