【问题标题】:How to access a text file from an android Application?如何从 Android 应用程序访问文本文件?
【发布时间】:2018-10-17 04:58:44
【问题描述】:

我有一个文本文件,其中包含一些要复制到 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);

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

【问题讨论】:

  • 在清单中包含 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 或在 Android 6.0 的运行时执行
  • 另外请查看this answer
  • 对于较新的方式也必须实现fileprovider。

标签: android file android-studio-3.1.4


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-02-01
    • 2011-08-09
    • 1970-01-01
    • 2019-10-29
    • 2023-01-29
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    相关资源
    最近更新 更多