一、内部存储(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