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卡上。问题出在手机的内部存储器上。是否可以读取此文件?如果不存在,是否可以读取此文件有解决办法吗?