Android Can';无法从内部存储器读取文件(文件不存在问题)
我有一个路由设备,当我这样做时Android Can';无法从内部存储器读取文件(文件不存在问题),android,memory,bluetooth,storage,internal,Android,Memory,Bluetooth,Storage,Internal,我有一个路由设备,当我这样做时 adb shell cat /data/misc/bluetooth/dynamic_auto_pairing.conf 它将打印此文件的内容 但是在我的代码中,当我写这样的东西时,它说文件不存在。从控制台上看,我知道它在那里,但从代码上看,我看不懂它。我的问题是问题出在哪里,我是否错过了一些许可,或者问题出在哪里?有人能给我提供一些代码来读取这个文件的内容吗 谢谢 File pa = new File("/data/misc/bluetooth/","dyn
adb shell cat /data/misc/bluetooth/dynamic_auto_pairing.conf
它将打印此文件的内容
但是在我的代码中,当我写这样的东西时,它说文件不存在。从控制台上看,我知道它在那里,但从代码上看,我看不懂它。我的问题是问题出在哪里,我是否错过了一些许可,或者问题出在哪里?有人能给我提供一些代码来读取这个文件的内容吗
谢谢
File pa = new File("/data/misc/bluetooth/","dynamic_auto_pairing.conf");
//this doesn't works also
//File pa = new File("/data/misc/bluetooth","dynamic_auto_pairing.conf");
//File pa = new File("/data/misc/bluetooth/dynamic_auto_pairing.conf");
if(pa.exists()){
Log.v("tag", "does exists");
}else{
Log.v("tag", "does NOT exist");
}
从
文件的文档中
公共文件(字符串路径、字符串名称)
使用指定的目录路径和文件名构造新文件,并在两者之间放置路径分隔符。
在您正在使用的代码中
File pa = new File("/data/misc/bluetooth/","dynamic_auto_pairing.conf");
…由于您的dirPath
以分隔符“/data/misc/bluetooth/”
结尾,因此将产生两个分隔符。换句话说,有效的途径将是
/data/misc/bluetooth//dynamic_auto_pairing.conf
注意“bluetooth”后面的
/
如果文件在SD卡上,请尝试:
File pa = new File(Environment.getExternalStorageDirectory() + "/data/misc/bluetooth/dynamic_auto_pairing.conf");
还可以尝试添加:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
如果您使用的是安卓6.0或更高版本,则在
之外。您必须在代码中请求权限。您是否在应用程序中添加了以下权限:我不尝试访问Bluetooth,我只想从内存中读取文件您是否已设法读取放置在/data/misc/文件夹中的内容表单文件?抱歉,不起作用:(,是否有人从/data/misc/文件中读取内容?/data/
文件夹是否位于手机存储器或SD卡的根目录下?如果它位于手机存储器的根目录下,则应用程序无法访问它。请将其放在SD卡上。问题出在手机的内部存储器上。是否可以读取此文件?如果不存在,是否可以读取此文件有解决办法吗?