android 我想读取一个txt文件,怎么获取路径

android 我想读取一个txt文件,怎么获取路径,第1张

你的这个文件是不是存在手机的内存卡里面呢,如果是可以这样做

//首先获取到手机内存卡的根路径

String rootPath = EnvironmentgetExternalStorageDirectory()getPath();

File file = new File(rootPath + "/atxt"); //假设文件就在内存卡的根目录

得到file对象之后就跟Java一样处理了

在Android10以前,只要程序获得了READ_EXTERNAL_STORAGE权限,就可以随意读取外部的存储公有目录。只要程序获得了WRITE_EXTERNAL_STORAGE权限,就可以随意在写入外部存储的公有目录上新建文件或文件夹

于是Google在Android10中提出了分区存储,意在限制程序对外部存储中公有目录的使用。

分区存储对内部存储私有目录和外部存储私有目录都没有影响

简单来说就是,在Android10中,

使用分区存储的应用对自己创建的文件始终拥有读/写权限, 无论文件是否位于应用的私有目录内 ,所以,如果应用仅保存和访问自己创建的文件,则无需请求获得READ_EXTERNAL_STORAGE或WRITE_EXTERNAL_STORAGE权限

如果要访问其他应用创建的文件,则需要READ_EXTERNAL_STORAGE权限。并且仍然只能使用MediaStore提供的API或是SAF访问。

这里需要注意的是,MediaStore提供的API只能访问、视频、音频,如果需要访问其它任意格式的文件,需要使用SAF,它会调用系统内置的文件浏览器供用户自主选择文件

Android Q规定了App有两种存储空间模式视图:Legacy View、Filtered View

系统通过下列方式确定App的运行模式:

判断当前App运行的是什么模式,可以通过Environment提供的API进行判断

MediaStore提供了下列几种类型的访问Uri,通过查找对应Uri数据,达到访问的目的。

我们还可以使用getContentUri获取所有<volumeName>

MediaProvider对于App存放到公共目录文件,通过ContentResolver insert方法中Uri来确定

MediaStroe通过不同Uri,为用户提供了增、删、改方法,权限对应如下

例如PDF,PDF为非媒体类文件,因此我们不能通过MediaStore来获取,对于这种其他类型的文件,一般使用SAF来让用户选择

我们也推荐使用SAF让用户自己去创建,IntentAction为:ACTION_CREATE_DOCUMENT

访问app-specific分为两种情况,一种是访问App自身App-specific目录,第二是访问其他App目录文件

Android Q,App如果启动了Filtered View,那么只能直接访问自己目录的文件:

App是FilteredView,其他App无法直接访问当前App私有目录,需要通过以下方法:

以上就是关于android 我想读取一个txt文件,怎么获取路径全部的内容,包括:android 我想读取一个txt文件,怎么获取路径、Android——Android10的分区存储(Scoped Storage)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9462561.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存