mztown 2020-06-19 12:05 采纳率: 0%
浏览 451

Android R 使用 FileInputStream 找不到文件?

相关代码如下

public void readFile(String filePath, String charsetName) {
    File file = new File(filePath);
    new FileInputStream(file);
    ...
}

很简单直白,在api 23 的虚拟机里运行也正常,但是在android r的虚拟机里会报如下错误

java.io.FileNotFoundException: /storage/emulated/0/AAA/Setting.gson: open failed: EFAULT (Bad address)
        at libcore.io.IoBridge.open(IoBridge.java:492)
        at java.io.FileInputStream.<init>(FileInputStream.java:159)
        ...
     Caused by: android.system.ErrnoException: open failed: EFAULT (Bad address)
        at libcore.io.Linux.open(Native Method)
        at libcore.io.ForwardingOs.open(ForwardingOs.java:166)
        at libcore.io.BlockGuardOs.open(BlockGuardOs.java:254)
        at libcore.io.ForwardingOs.open(ForwardingOs.java:166)
        at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7372)
        at libcore.io.IoBridge.open(IoBridge.java:478)
        at java.io.FileInputStream.<init>(FileInputStream.java:159) 
        ... 

这个程序是两个月前在同一台虚拟机上开发测试的,虚拟机里也能找到开发测试的时候生成的文件,我检查了这几项

file!=null
file.isFile()
file.exists()
file.canRead()

都没问题,那么FileInputStream 为什么会报FileNotFoundException呢?

  • 写回答

1条回答 默认 最新

  • 炭烤葫芦娃 2020-06-22 14:35
    关注

    检查文件读写权限是不是打开了

    评论

报告相同问题?

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画