android 获取文件、存储卡路径,和路径的填写的多种方式及4.1版本前后注意点

2023-12-24 07:18

本文主要是介绍android 获取文件、存储卡路径,和路径的填写的多种方式及4.1版本前后注意点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

利用Uri对文件操作请移步。。。

如何获取文件路径请移步。。。

本文做的仅仅是介绍的是在android中路径的填写格式,以及他们所到达的地点,至于怎样去读写操作请移步。。。。。

我们获取sd卡的路径是用的是File类,File有文件和文件夹的意思,而sd卡是存储卡,他们又有什么关系呢?

楼主的理解是一大块物理内存是一块死物,必须在其上面覆盖一层文件系统才可以共我们去操作,文件系统将物理磁盘进行(划分)分区,

既然是文件系统,那么划分的分区就是文件或文件夹啦,所以每一个分区就是一个有内存大小的大文件夹。他们都有一个根目录(“/”),所

有的分区都在这个根目录下,由这个根目录向下延伸,既然每一个分区是一个大文件夹,那么就有路径名字等等参数,那么当然可以用File来

获取路径、名子等等啦。

这儿我们得先区分一下android4.1以前的版本和以后的版本外部存储在根目录下的挂载点,请移步。。


我们要在代码中填写路径要怎么填写呢。以下是几种方式(这里我们以android4.2为例,不同的版本可能会有所不同,但殊途同归)。

Environment.getExternalStorageDirectory();相信这句代码大家都不陌生,他是获取外部存储路径的,

但有时或返回的为 “mounted”,即安装好的、可用的,但有时候确是“remove”,移除的、不可用的。

原因是什么呢,是因为手机厂商的不同,所以外置sd卡和内置sd卡挂载的路径问题。

有的手机用这个方法获取到的是内置sd卡的挂载路径,即将内置sd卡挂载在Environment.getExternalStorageDirectory()这个节点上,所以无论怎样都返回“mounted”,

而有的手机用这个方法获取的是外置sd卡的挂载路径,即将外置sd卡挂载在Environment.getExternalStorageDirectory()这个节点上,所以如果你没装外置sd卡就会放回“remove”,而且不同版本,不同厂商挂载点的路径会有差别,具体请移步,这儿确实有吐槽点,那这个问题怎么解决呢,就算用这个方法获取了一个sd卡的路径,那另一个怎么获取呢。

至于怎么获取,借花献佛 http://blog.fidroid.com/post/android/ru-he-zheng-que-huo-de-androidnei-wai-sdqia-lu-jing。

路径的填写格式:有下面2种版本1.直接调挂载路径即Environment.getExternalStorageDirectory();这样得到sd卡路径,然后向下延伸。

                                                           2.“/sdcard”(sd卡路径),然后向下延伸,其实调的是软连接(快捷方式),然后沿着此快捷方式向下延伸。

总结起来的话就是两种,通过获取sd卡在android系统上的挂载点来获取sd卡的路径,第二种就是掉挂载点的软链接啦,都可调用成功。另外还可能有其他乱七八糟

的填写方式,但殊途同归,这里就先不写啦,遇到再说。


这篇关于android 获取文件、存储卡路径,和路径的填写的多种方式及4.1版本前后注意点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/530977

相关文章

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

python中os.stat().st_size、os.path.getsize()获取文件大小

《python中os.stat().st_size、os.path.getsize()获取文件大小》本文介绍了使用os.stat()和os.path.getsize()函数获取文件大小,文中通过示例代... 目录一、os.stat().st_size二、os.path.getsize()三、函数封装一、os

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作