我有以下函数应该返回 wpa_supplicant.conf 文件的内容。
我尝试通过这种方式读取文件:
public static String readTextFile() {
aBuffer = "";
try
{
Runtime.getRuntime().exec("su");
Runtime.getRuntime().exec("chmod +x /data/misc/wifi/wpa_supplicant.conf");
File path= Environment.getDataDirectory();
File myFile = new File("/data/misc/wifi/wpa_supplicant.conf");
FileInputStream fIn = new FileInputStream(myFile);
BufferedReader myReader = new BufferedReader(
new InputStreamReader(fIn));
String aDataRow = "";
aBuffer = "";
while ((aDataRow = myReader.readLine()) != null) {
aBuffer += aDataRow + "\n";
}
myReader.close();
}
catch (Exception e)
{
Logger.e("Cannot read the file");
Logger.e(e.getMessage());
}
return aBuffer;
}
我也添加到清单文件中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
但是当我试图读取放置在以下位置的文件的内容时:
/data/misc/wifi/wpa_supplicant.conf
我总是得到以下异常:
/data/misc/wifi/wpa_supplicant.conf: open failed: EACCES (Permission denied)
我应该使用而不是 shell 命令的 inputStream 输出字符串吗?外汇:
tail /data/misc/wifi/wpa_supplicant.conf
请问我该如何解决这个问题?
非常感谢您的任何建议。