android - 如何访问内部存储根目录中的文件?
问题描述
我的设备没有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:
它也不起作用,基本上它们是同一个问题。我可以访问此目录中的文件吗?
解决方案
阅读:developer.android.com/guide/topics/data/data-storage 你没有读取存储的权限,你放的权限是定位服务。
推荐阅读
- javascript - jsPDF - 需要 deflate.js 进行压缩
- javascript - 如果在 JavaScript 中为 false,则设置为 true navigator.cookieEnabled
- java - Javassist版本升级没有解决java.lang.VerifyError:
- python - 从 3D 数组绘制 3D 散点图
- python - 如何通过表达式创建 python 变量名?
- apache-kafka - 在 MassTransit 中使用 Kafka 骑手进行异常处理
- php - 如何在 PHP 类中接收 POST 数据
- html - 刷新页面后不播放音频
- javascript - JavaScript 天气小部件
- python - 文件修改时间与 Python 时间不同