getExternalStorageDirectory()和getExternalFilesDir()的区别

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给我们提供好的一些公共目录的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值