0

我正在尝试在我的根设备中读取 /data/misc/wifi/wpa_supplicant.conf 这个文件可用,我可以将它复制到 sdcard 没有任何问题,但是 new File().exists() 返回 false

new File("/data/misc/wifi/wpa_supplicant.conf").exists() -> FALSE

下面的代码工作正常

new ProcessBuilder(new String[]{"su", "-c", "cp /data/misc/wifi/wpa_supplicant.conf " + Environment.getExternalStorageDirectory().getAbsolutePath() + "/wpa_supplicant.conf"}).start().waitFor();
4

2 回答 2

0

由于文件系统安全性,它不起作用。除非重新挂载分区,否则您无权在此目录中读取或写入。检查这个问题:如何读取 wpa_supplicant.conf 文件

一种解决方案是不使用file.exist(),而是在WPA_supplicant 目录中执行命令“ls”,并检查处理结果是否包含WPA_supplicant。

于 2015-04-05T08:54:15.210 回答
-2

尝试先初始化它并使用if语句检查它的条件:

File file = new File("my_path");
if (file.exist()){
    // do something
}

并确保文件的路径正确。

于 2015-04-05T09:32:50.380 回答