java.io.FileNotFoundException open failed: EACCES (Permission denied)

针对java.io.FileNotFoundException open failed: EACCES (Permission denied)出现的问题,是由于当前使用的安卓版本过高导致的,出现了文件访问失败。

1\解决方法是在AndroidMainfest中添加android:requestLegacyExternalStorage="true"

2\AndroidMainfest中添加

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

复制代码
public void at_file()throws IOException {


    String sdcard=Environment.getDataDirectory().getPath().replace("data","sdcard");
    String test_p1=sdcard+test_p;

    //File file = new File(Environment.getExternalStorageDirectory(), "a.txt");
    File file=new File(sdcard,"a.txt");
    InputStream inputStream = new FileInputStream(file);

    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    StringBuilder stringBuilder = new StringBuilder();
    String line;
    while ((line = reader.readLine()) != null) {
        stringBuilder.append(line);
    }
    String fileContent = stringBuilder.toString();
    System.out.println(fileContent);
}
相关推荐
Miketutu18 分钟前
Spring MVC消息转换器
java·spring
乔冠宇18 分钟前
Java手写简单Merkle树
java·区块链·merkle树
小王子102432 分钟前
设计模式Python版 组合模式
python·设计模式·组合模式
LUCIAZZZ1 小时前
简单的SQL语句的快速复习
java·数据库·sql
来恩10031 小时前
C# 类与对象详解
开发语言·c#
komo莫莫da2 小时前
寒假刷题Day19
java·开发语言
ElseWhereR2 小时前
C++ 写一个简单的加减法计算器
开发语言·c++·算法
Mason Lin2 小时前
2025年1月22日(网络编程 udp)
网络·python·udp
清弦墨客2 小时前
【蓝桥杯】43697.机器人塔
python·蓝桥杯·程序算法
S-X-S2 小时前
算法总结-数组/字符串
java·数据结构·算法