android - 如何从 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);
但这不是解决方案。
那么我应该把文件放在哪里呢?什么是正确的道路?我应该在清单中添加哪些必需的权限?谢谢。
解决方案
在访问存储中的任何文件之前,您需要获得许可。
阅读:
<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
推荐阅读
- node.js - 使用 Github Actions 将 Angular 应用程序部署到 Azure 失败。未找到 package.json
- google-sheets - 在 Google 表格的不同单元格中连接多列
- java - 抽象掉 Matrix 库依赖
- spring - 将keycloak与spring cloud dataflow集成时的登录循环问题
- ios - 在 Objective-C 中读取和更新 plist
- eclipse - Eclipse - 如何更改 JasperReports 插件的 .jrxml 文件的语法着色
- angular - 除非手册页刷新 Angular 8,否则数据不会显示
- json - 定义将从我的云函数加载的打字稿界面的日期字段的正确方法?
- tooltip - 如何在超集图表中编辑工具提示
- java - 按升序显示球的重量