小编use*_*696的帖子

开放失败:EACCES(权限被拒绝)

我在某些设备上访问存储时遇到了一个非常奇怪的问题.该应用程序适用于我的测试设备(Nexus 4和7,三星GS5).我的所有设备都运行Android 4.4.2.但是我收到了很多用户的电子邮件,说应用程序无法写入存储(内部存储和SD卡).从用户反馈收到的日志文件中,我可以看到问题是以下代码:

try {
    if (fStream == null) {
    fStream = new FileOutputStream(filename, true);
}
    fStream.write(data, 0, bytes);
    return;
} catch (IOException ex) {
    ex.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

它在fStream = new FileOutputStream(filename,true)行抛出异常; 在创建FileOutputStream时.

堆栈日志是:

W/System.err( 8147): Caused by: java.io.FileNotFoundException: /storage/emulated/0/my_folder/test_file_name.png: open failed: EACCES (Permission denied)
w/System.err( 8147):    at libcore.io.IoBridge.open(IoBridge.java:409)
W/System.err( 8147):    at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
W/System.err( 8147):    at java.io.FileOutputStream.<init>(FileOutputStream.java:128)
W/System.err( 8147):    at myapp.save(SourceFile:515)
W/System.err( 8147):    ... 8 more
W/System.err( 8147): Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
W/System.err( 8147):    at libcore.io.Posix.open(Native Method) …
Run Code Online (Sandbox Code Playgroud)

android filenotfoundexception

56
推荐指数
6
解决办法
11万
查看次数

标签 统计

android ×1

filenotfoundexception ×1