内部存储空间的获取都须要使用Context.android
对应内部存储的路径为: data/data/packagename/files数据库
String filesDir = getApplicationContext().getFilesDir().getPath();
对应内部存储的路径为:data/data/packagename/cache ,cache是缓存的意思,这些文件一旦设备内部存储空间不足时,这些保存在cache下的文件会删除,不要期望系统为你删除,通常须要本身设定阈值,一旦系统满时,系统也会删掉cache!---- 通常聊天记录都会使用数组
String cacheDir = getApplicationContext().getCacheDir().getPath();
这2个方法对data/data/packagename/files目录下操做文件缓存
方法是用来列出该data/data/packagename/files目录下的全部文件spa
用来删除该files目录下的文件操作系统
外部存储空间有2种不一样目录的文件路径,他们分别须要使用Context和Environment来获取,下面咱们逐个介绍获取方式与对应路径code
使用上下文获取的路径主要是/android/data/你的包名/ 此目录下的路径blog
对应外部存储路径:/storage/emulated/0/Android/data/packagename/cache 此方法为获取cache缓存文件图片
String externalCacheDir = getApplicationContext().getExternalCacheDir().getPath();
对应外部存储路径:/storage/emulated/0/Android/data/packagename/cache 此方法为获取cache下因此文件数组集合文档
File[] externalCacheDirs = getApplicationContext().getExternalCacheDirs();
对应外部存储路径:/storage/emulated/0/Android/data/packagename/files 此方法获取files文件下的指定文件,这里的参数能够传入null也能够传入一个文件名
String externalFilesDir = getApplicationContext().getExternalFilesDir(null).getPath();
对应外部存储路径:/storage/emulated/0/Android/data/packagename/files 此方法获取files文件指定目录的文件数组集合,这里的参数能够传入null也能够传入一个文件名
File[] externalFilesDirs = getApplicationContext().getExternalFilesDirs(null);
对应外部存储路径:/storage/emulated/0/Android/media/packagename 此方法获取包名路径下的文件数组集合
File[] externalMediaDirs = getApplicationContext().getExternalMediaDirs();
获取sd卡状态,此方法返回的是String类型,一共有如下几种类型:
String externalStorageState = Environment.getExternalStorageState(); if (externalStorageState.equals(Environment.MEDIA_MOUNTED)){ //sd卡已经安装 }
对应外部存储路径:/storage/emulated/0 此方法获取外部存储根目录路径
String externalStorageDirectory = Environment.getExternalStorageDirectory().getPath();
获取外部存储的共享文件夹路径(就是拍照文件夹/下载文件夹/音乐文件夹这些系统的共享文件夹),使用的时候参数必需携带路径类型,且不能为null.
以相机DCIM目录为例子对应获取的路径为:/storage/emulated/0/DCIM
String externalStoragePublicDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath();
对应获取系统分区根路径:/system 此方法是获取系统根目录路径,返回包含核心Android操做系统的“系统”分区的根目录,始终以只读方式显示和安装。
String rootDirectory = Environment.getRootDirectory().getPath();
对应获取用户数据目录路径:/data 返回用户数据目录
String dataDirectory = Environment.getDataDirectory().getPath();
对应获取用户缓存目录路径:/data/cache 返回下载/缓存内容目录
String downloadCacheDirectory = Environment.getDownloadCacheDirectory().getPath();