首页 > 解决方案 > 如何从 Android 应用程序访问文本文件?

问题描述

我有一个文本文件,其中包含一些要复制到 SQLite 数据库中的数据。我无法访问手机“下载”目录中的文件我有一个 Permission denied 异常(我使用 Android-Studio-3.1.4 的设备文件资源管理器提供的路径,它允许我创建一个文件,获取它的路径,编辑内容但不保存!)。
一些论坛告诉我必须将文件放在 data/data/app-name 上,但我在技术上没有这样做。
我试图在我的项目中创建一个新文件,但我仍然不知道如何使用代码访问它。

    FileInputStream file = new FileInputStream("/storage/self/primary/Download/file.txt"));

在此行之前,我尝试添加:

    Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);

但这不是解决方案。
那么我应该把文件放在哪里呢?什么是正确的道路?我应该在清单中添加哪些必需的权限?谢谢。

标签: androidfileandroid-studio-3.1.4

解决方案


在访问存储中的任何文件之前,您需要获得许可。

阅读: <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


推荐阅读