Android获取文件目录

在Android开发过程中,难免会遇到需要文件操作,这些文件可以存放在data分区下面,也可以存放在外置sd,这些路径都是什么呢,今天在这里做一个简单的总结。

我一共用了8个系统API,代码如下:

tv.setText("getExternalCacheDir().getAbsolutePath():"+getExternalCacheDir().getAbsolutePath()+"\n"
+"getDataDir().getAbsolutePath():"+getDataDir().getAbsolutePath()+"\n"
+"getFilesDir().getAbsolutePath():"+getFilesDir().getAbsolutePath()+"\n"
+"getCacheDir().getAbsolutePath()"+getCacheDir().getAbsolutePath()+"\n"
+"Environment.getDataDirectory():"+Environment.getDataDirectory().getAbsolutePath()+"\n"
+"Environment.getDownloadCacheDirectory():"+Environment.getDownloadCacheDirectory().getAbsolutePath()+"\n"
+"Environment.getExternalStorageDirectory()"+Environment.getExternalStorageDirectory().getAbsolutePath()+"\n"
+"Environment.getRootDirectory()"+Environment.getRootDirectory().getAbsolutePath()+"\n");
运行结果如下:


附加问题:为什么很多Android应用要把文件写到/sdcard目录下而不是写到/data/data/目录下?

解答:

SD卡上也有一个文件夹 /Android/data/包名,这个文件夹也是用来给程序放应用数据的,此文件夹读写在4.4及以后不需要外置储存区读写权限。这两个文件夹区别在于 data 分区有权限控制,除非应用自己同意,否则其他应用无法读取内部的数据,而sdcard/Android下的文件只要有外置空间读取权限就可以读取。所以data下一般放私密信息,而sdcard/Android 下放可以公开的缓存数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android海纳百川

打赏加微信,送跑车加管理

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值