一.内部存储方式
内部存储,位于手机硬件上的一个存储位置。
系统会给每个应用分配相应大小
默认是app自身才能访问
1.
getFileDir()
路径为/data/data/pacgage_name/files
2.
openFileOutput()
保存路径是/data/data/package_name/files ,和getFileDir() 的路径一致
OutputStream outputStream = openFileOutput(“file.txt", MODE_PRIVATE);
outputStream.write(“file".getBytes());
outputStream.close();
3
.getCacheDir()
路径为/data/data/package_name/cache
第二种可以设置文件的访问权限,设置为可读写时,其他的app可以访问,但
其他app需要知道你的包名与文件名。
第三种但手机内部存储不够时会自动删除
以上三种文件卸载的时候会卸载软件时会被删除
二、外部私有存储
1.
Context.getExternalCacheDir()
外部的缓存,默认只能自己的app能访问,手机空间不足时,会删除
卸载的时候会被删除
/storage/emulated/0/Android/data/package_name/cache/
2.
Context.getExternalFilesDir()
/storage/emulated/0/Android/data/package_name/files
context
.getExternalFilesDir(Environment.DIRECTORY_PICTURES);
/storage/emulated/0/Android/data/package_name//files/Pictures
使用时需要类似DIRECTORY_PICTURES 的API的常量
三、外部公有存储
1.Environment.
getExternalStorageDirectory()
路径/storage/emulated/0
2、Environment
.getExternalFilesDir(Environment.DIRECTORY_PICTURES);
路径/storage/emulated/0/android/data/pictures