绝对路径和相对路径的区别:
绝对路径:D:\Java\main\MainActivity.java,这种能看的懂得。
相对路径:相对于项目来说,位于某某某个地方的地址,看不懂的。。。。。我也不知道咋解释。会把 ..\ 、.\ 这样的符号解析掉。
外置存储卡路径
这个目录是可以看到的, /storage/emulated/XXXX,一般在手机上看到的都是XXXX层面的。不同的手机厂商的名字不一样的哦,这个是华为p20上的。
Environment.getExternalStorageDirectory() :这个就是外置存储卡路径,就是XXXX这个等级的目录,就是可以再手机上看到的第一级目录。
// 如果要操作这个目录下面的任何文件需要提前申请好WRITE_EXTERNAL_STORAGE|READ_EXTERNAL_STORAGE权限
//获取外置存储卡的存储目录的File对象,最终返回的File就是外置存储卡的目录。可以使用
Environment.getExternalStorageDirectory();
//这个函数获取到外置存储卡的绝对路径。比如:
Environment.getExternalStorageDirectory().getAbsolutePath();
//这个路径相当于是外置存储卡的MyDirectory目录,即你打开手机“文件管理器”的顶层目录下面的MyDirectory文件夹。
String mFilePath=Environment.getExternalStorageDirectory().getAbsolutePath()+"/MyDirectory";
//----------------------------------------------------------------------------------------------------
//获获取外置存储卡目录
File Environment.getExternalStorageDirectory();
//获取对应文件类型的目录
//例如,你想获取系统默认创建在外置存储卡目录的“下载”目录,就调用这个方法然后传入Environment.DIRECTORY_DOWNLOADS常量即可获得默认的
File Environment.getExternalStoragePublicDirectory(String type);
app目录
这个目录在一般手机(么有root的手机)上看不到的,但是可以用代码获取出来各级目录。
函数名称 | 注释 |
---|---|
Context.getPackageResourcePath() | 获取该程序的安装包路径 : /data/app/com.jhk.androidstudy-2/base.apk |
Context.getPackageName() | 用于获取APP的所在包目录 : com.jhk.androidstudy |
Context.getPackageCodePath() | 用来获得当前应用程序对应的 apk 文件的路径 : /data/app/com.jhk.androidstudy-2/base.apk |
Context.getDatabasePath() | 返回通过Context.openOrCreateDatabase 创建的数据库文件 |
Context.getFilesDir().getPath() | 用于获取APP的files目录 /data/data//files |
Context.getCacheDir().getPath() | 用于获取APP的cache目录 /data/data//cache目录 |
Context.getExternalCacheDir().getPath() | 用于获取APP的在SD卡中的cache目录/mnt/sdcard/Android/data//cache |
Context.getObbDir().getPath() | 用于获取APP SDK中的obb目录 /mnt/sdcard/Android/obb/ |
推荐链接:https://blog.csdn.net/jinhuikang/article/details/79541518 (希望作者不要来打我~~我抄的。。。)
网友评论