Android相关的存储路径读取(注意10/11以后的存储分区)

一、内部存储(Internal Storage):数据随应用的删除而删除

API方法: getFilesDir()
对应操作:获取/data/data/包名/files目录
API方法:getDir(String dirName, int mode)
对应操作:获取/data/data/包名/dirName目录 (有则打开,没有则新建)
mode值:MODE_PRIVATE(默认模式,表示文件数据为私有,只能被应用自身访问。新内容覆盖旧内容)
                MODE_APPEND(在文件当前内容后面追加新内容。若文件不存在则新建)
                MODE_WORLD_READABLE(文件可被其他应用读取)
                MODE_WORLD_WRITEABLE(文件可被其他应用写入)
API方法:deleteFile(String fileName)
对应操作:删除/data/data/包名/files/fileName文件
API方法:getCacheDir()
对应操作:获取/data/user/0/包名/cache目录

二、外部存储(External Storage)

API方法:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
对应操作:获取系统Pictures目录(截图)
API方法:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)
对应操作:获取系统DCIM目录(相册)
API方法:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC)
对应操作:获取系统Music目录
API方法:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_ALARMS)
对应操作:获取系统Alarms目录
API方法:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
对应方法:获取系统Downloads目录
API方法:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)
对应操作:获取系统Documents目录
API方法:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)
对应操作:获取系统Movies目录
API方法:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_NOTIFICATIONS)
对应操作:获取系统Notifications目录
API方法:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PODCASTS)
对应操作:获取系统Podcasts目录
API方法:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_RINGTONES)
对应操作:获取系统Ringtones目录
API方法:getExternalFilesDir(String type)
对应操作:获取应用私有目录(/storage/emulated/0/Android/data/包名/files/XXX,其中XXX依type类型而定)
type值:(null,Environment.DIRECTORY_RINGTONES,Environment.DIRECTORY_PODCASTS,
Environment.DIRECTORY_NOTIFICATIONS,Environment.DIRECTORY_MOVIES,
Environment.DIRECTORY_DOCUMENTS,Environment.DIRECTORY_DCIM,
Environment.DIRECTORY_ALARMS,Environment.DIRECTORY_DOWNLOADS,
Environment.DIRECTORY_MUSIC,Environment.DIRECTORY_PICTURES)
API方法:getExternalCacheDir()
对应操作:获取应用缓存目录(/storage/emulated/0/Android/data/包名/cache)
API方法:Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
对应操作:检测External Storage是否可用。true为可用,false为不可用。


---getCacheDir():/data/data/包名/cache

---getCodeCacheDir:/data/data/包名/code_cache

---getExternalCacheDir:/storage/emulated/0/Android/data/包名/cache

---getDataDir:/data/data/包名

---getFilesDir:/data/data/包名/files

---getObbDir:/storage/emulated/0/Android/obb/包名

---getFilesDir:/data/data/包名/files

---getNoBackupFilesDir:/data/data/包名/no_backup

---getExternalCacheDir:/storage/emulated/0/Android/data/包名/cache

---getExternalFilesDir(Environment.DIRECTORY_MUSIC):/storage/emulated/0/Android/data/包名/files/Music

---getExternalFilesDir(Environment.DIRECTORY_PODCASTS):/storage/emulated/0/Android/data/包名/files/Podcasts

---getExternalFilesDir(Environment.DIRECTORY_RINGTONES):/storage/emulated/0/Android/data/包名/files/Ringtones

---getExternalFilesDir(Environment.DIRECTORY_ALARMS):/storage/emulated/0/Android/data/包名/files/Alarms

---getExternalFilesDir(Environment.DIRECTORY_NOTIFICATIONS):/storage/emulated/0/Android/data/包名/files/Notifications

---getExternalFilesDir(Environment.DIRECTORY_PICTURES):/storage/emulated/0/Android/data/包名/files/Pictures

---getExternalFilesDir(Environment.DIRECTORY_MOVIES):/storage/emulated/0/Android/data/包名/files/Movies

---getDir(picture):/data/data/包名/app_picture
参考链接:https://blog.csdn.net/gc1074959890/article/details/111691682

推荐阅读更多精彩内容