我遇到异常
java.io.FileNotFoundException: /data/data/XX/files/permissions.xml: open failed: EACCES (Permission denied)
尝试将文件从 SD 卡复制到应用程序数据位置时。我的代码是
File copy = new File((getActivity()
.getApplicationContext().getFileStreamPath("permissions.xml")
.getPath()));
if (!copy.exists()) {
try {
copy.getParentFile().mkdirs();
copy.createNewFile();
} catch (Exception err) {
err.printStackTrace();
}
}
copyFileUsingChannel(xmlFile, copy);
方法copyFileUsingChannel
正在直接调用方法copyFileUsingStream
。我在 list 中声明了写入和读取权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="XX">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
...
我不知道为什么会抛出这个异常。我正在从应用程序包创建文件。应该是由于扩展非应用程序类引起的吗?感谢您的帮助。
编辑:我意识到一个有趣的事实:文件已创建但无法写入内容
最佳答案
您是否授予运行时权限? 这是文档 Request App Permissions
关于java - Android打开失败: EACCES (Permission denied) when writing file in data/data/package/files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50436693/