在 Android 开发中,可以使用 FileObserver 类来监听文件的变化。FileObserver 是一个抽象类,用于监听文件或目录的创建、删除、修改等操作。\n\n要监听文件的修改,可以创建一个继承自 FileObserver 的子类,并重写其 onEvent 方法。在 onEvent 方法中,可以获取到文件的路径以及触发该事件的操作类型。\n\n以下是一个简单的示例代码:\n\njava\nimport android.os.FileObserver;\nimport android.util.Log;\n\npublic class MyFileObserver extends FileObserver {\n private static final String TAG = "MyFileObserver";\n private String filePath;\n\n public MyFileObserver(String path) {\n super(path);\n this.filePath = path;\n }\n\n @Override\n public void onEvent(int event, String path) {\n if (path == null) {\n return;\n }\n\n String fullPath = filePath + "/" + path;\n switch (event) {\n case FileObserver.MODIFY:\n Log.d(TAG, "File " + fullPath + " was modified");\n break;\n // 其他事件类型\n // case FileObserver.CREATE:\n // case FileObserver.DELETE:\n // ...\n }\n }\n}\n\n\n使用方法如下:\n\njava\nString filePath = "/sdcard/test.txt";\nMyFileObserver fileObserver = new MyFileObserver(filePath);\nfileObserver.startWatching();\n\n\n通过调用 startWatching 方法,即可开始监听指定文件的修改事件。当文件被修改时,会触发 onEvent 方法,并打印相应的日志信息。\n\n需要注意的是,FileObserver 只能监听指定的文件或目录,无法获取到是哪个进程修改了文件。如果需要获取修改文件的进程信息,可以结合其他方法,如通过 Linux 命令 ps 获取进程信息,并结合文件的修改时间等信息进行匹配。

Android 文件修改监听:FileObserver 使用指南

原文地址: https://www.cveoy.top/t/topic/qdVc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录