getExternalStorageDirectory()和getExternalFilesDir()的区别
- 作者: 依稀背影103700466
- 来源: 51数据库
- 2021-08-23
Android getExternalStorageDirectory()和getExternalFilesDir()的区别
1、app专属文件位置
app专属文件就是只有app才可以使用的文件,这类文件随app的删除而删除,他们可以被存储在两个地方:internal storage(内部存储)和external storage(外部存储);i
internal storage:就是app私有的目录,为:“data/data/<package name>/file/..."访问方法:File file=getFilesDir();
externale storage:这类文件存储在sdk中,为:“mnt/sdacard/Android/data/<package name>/file/.."。这类文件随app删除而删除。访问方法为:File file=getExternaleFilesDir(null);
需要权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
getExTernalFilesDir(null)参数传入的为null,访问的是files文件夹,可以指定子文件夹。
使用时,需要先判断是否安装sd卡:
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {//SD卡已装入}
2、独立文件
独立文件就是不属于某个app的文件,这类文件在删除应用之后还会保留在手机上;
访问方式:
(1)
File sdCard = Environment.getExternalStorageDirectory();
File file= new File(sdCard, "textFile");
Log.i(TAG,"directory="+file);
打印的路径为:mnt/sdcard/textFile
Environment.getExternalStorageDirectory();这个路径为sd卡的根路径,可以指定访问的文件夹名:
(2)
File sdCard=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
Log.i(TAG,"sdCard="+sdCard);
打印的路径为:mnt/sdcard/Pictures
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);访问Android给我们提供好的一些公共目录的方法
推荐阅读
热点文章
android中Bitmap用法(显示,保存,缩放,旋转)实例分析
12
android 仿微信聊天气泡效果实现思路
1
Android的尺度,drawable-xxxxxxx
2
Codeforces Round #656 (Div. 3) (C、D题)
1
Android之handler异步消息处理机制解析
6
GridView中图片显示出现上下间距过大,左右图片显示类似瀑布流的问题
0
AsyncTask的简单使用
5
两个简单Fragment之间的通信(三种方式)
18
uboot修改设置boot参数命令
41
android中实现从相册中一次性获取多张图片与拍照,并将选中的图片显示出来
2