12 外部存储和内部存储
获取在data下对应包名的文件夹路径
内部包内文件(data/data/包名/)
- 获取内部的 data/data/包名/files
- FileOutputStream openFileOutput = Context.openFileOutput(文件名, 模式);
- 模式选择如下
- Context.MODE_PRIVATE:私有 自由拥有者有权限读写
- Context.MODE_APPEND : 追加写入
- Context.MODE_WORLD_READABLE:全局可读 (弃用)
- Context.MODE_WORLD_WRITEABLE:全局可写 (弃用)
- 模式选择如下
- FileOutputStream openFileOutput = Context.openFileOutput(文件名, 模式);
获取内部data/data/包名/cache
- File filesDir = Context.getFilesDir();
获取内部data/data/包名/shared_prefs
SharedPreferences sp = Context.getSharedPreferences(文件名 模式);
- 模式在上方写有:略
外部包内文件(sdcard/android/data/包名)
- 获取外部的 sdcard/android/data/包名/files
File file = new File(contex.getExternalFilesDir(文件夹名, 文件名);
* 上诉操作会在sdcard/android/data/包名/files/文件夹名/文件创建文件
* 文件夹名可以写成如下几种格式:
1. DIRECTORY_ALARMS //警报的铃声
2. DIRECTORY_DCIM //相机拍摄的图片和视频保存的位置
3. DIRECTORY_DOWNLOADS //下载文件保存的位置
4. DIRECTORY_MOVIES //电影保存的位置, 比如 通过google play下载的电影
5. DIRECTORY_MUSIC //音乐保存的位置
6. DIRECTORY_NOTIFICATIONS //通知音保存的位置
7. DIRECTORY_PICTURES //下载的图片保存的位置
8. DIRECTORY_PODCASTS //用于保存podcast(博客)的音频文件
9. DIRECTORY_RINGTONES //保存铃声的位置
- 获取外部的 sdcard/android/data/包名/cache
File file = new File(contex.getExternalCacheDir(), 文件名);
总结:获取包名下问价路径全部都是通过Context(上下文获取)
static String PATH = Environment.getExternalStoragePublicDirectory(类型)
* 文件夹名可以写成如下几种格式:
1. DIRECTORY_ALARMS //警报的铃声
2. DIRECTORY_DCIM //相机拍摄的图片和视频保存的位置
3. DIRECTORY_DOWNLOADS //下载文件保存的位置
4. DIRECTORY_MOVIES //电影保存的位置, 比如 通过google play下载的电影
5. DIRECTORY_MUSIC //音乐保存的位置
6. DIRECTORY_NOTIFICATIONS //通知音保存的位置
7. DIRECTORY_PICTURES //下载的图片保存的位置
8. DIRECTORY_PODCASTS //用于保存podcast(博客)的音频文件
9. DIRECTORY_RINGTONES //保存铃声的位置
- Environment.getExternalStorageDirectory()直接获取外部内存根目录