new File()。exists()为现有文件返回false

时间:2015-04-05 08:33:55

标签: android rooted-device

我正在尝试在我的root设备中读取/data/misc/wifi/wpa_supplicant.conf 这个文件是可用的,我可以将它复制到SD卡,没有任何问题,但新的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();

2 个答案:

答案 0 :(得分:0)

由于文件系统安全性,它无法正常工作。除非重新安装分区,否则无权读取或写入此目录。请检查此问题:how to read wpa_supplicant.conf file

一种解决方案不是使用file.exist()而是执行命令" ls"在WPA_supplicant目录中,检查进程的结果是否包含WPA_supplicant。

答案 1 :(得分:-2)

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

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

并确保文件的路径正确。