我有一个文本文件,其中包含一些要复制到SQLite数据库中的数据。
我无法访问手机“下载”目录上的文件,我有一个权限被拒绝的异常(我使用Android-Studio-3.1.4的设备文件资源管理器提供的路径,该路径允许我创建文件,获取其路径,请编辑内容但不保存!)。
一些论坛告诉我,我必须将文件放在data / data / app-name上,但从技术上讲我做不到。
我尝试在项目中创建一个新文件,但仍然不知道如何使用代码访问它。
FileInputStream file = new FileInputStream("/storage/self/primary/Download/file.txt"));
在此行之前,我尝试添加:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
但这不是解决方案。
那么我应该把文件放在哪里?正确的道路是什么?我应该在清单中添加哪些必需的权限?
谢谢。
答案 0 :(得分:0)
在访问存储中的任何文件之前,需要获得许可。
阅读:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
写作:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
(为此权限已明确授予读取权限)
此外,您需要在运行Android M及更高版本的设备上在运行时请求这些权限。
检查以下链接:https://developer.android.com/training/permissions/requesting