首页 > 解决方案 > 如何访问内部存储根目录中的文件?

问题描述

我的设备没有SD卡,但我可以在Windows资源管理器中访问“内部存储”的文件,其中有一个“tmp.txt”。

在此处输入图像描述

txt 文件是通过 Windows 资源管理器粘贴的,现在我想阅读此文件。我的代码是:

    File sdcard = Environment.getExternalStorageDirectory();
    File file = new File(sdcard,"tmp.txt");

    StringBuilder text = new StringBuilder();
    try {
        InputStream in = new FileInputStream(file);
        ...
    }
    catch (IOException e) {
    }

但它不工作,它一步捕获异常之后new FileInputStream(file);,调试信息记录文件位置实际上是"/storage/emulated/0/tmp.txt",所以它找不到文件。然后我尝试使用以下方法将文件放在下载目录中:

File fileDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(fileDir, "tmp.txt");

错误日志:异常 e:

它也不起作用,基本上它们是同一个问题。我可以访问此目录中的文件吗?

标签: android

解决方案


阅读:developer.android.com/guide/topics/data/data-storage 你没有读取存储的权限,你放的权限是定位服务。


推荐阅读