Android SDCard文件、目录操作【转】
一、权限问题
参考:http://www.cnblogs.com/sky-zhang/p/3403393.html
Android框架是基于Linux内核构建,所以Android安全系统也是基于Linux的安全架构建立的。在Linux安全系统中,用户和组起着重要的作用,Linux中所有的资源给不同的用户和用户组设置了不同的访问属性。
在Android系统中,系统为每一个应用程序(apk)创建了一个用户和组。这个用户和组都是受限用户,不能访问系统的数据,只能访问自己的文件和目录,当然它也不能访问其他应用程序的数据。这样设计可以尽可能地保护应用程序的私有数据,增强系统的安全性和健壮性。
通过一些资料,大体可了解,android作为以linux为内核的系统,它的权限也分为root、sysyem、应用权限(受限,只可访问程序本身的目录和文件)。
要对SDCard进行读写操作,需要加入许可权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
二、SD卡下的文件操作
参考:http://fanwei51880.blog.163.com/blog/static/32406740201121855538162/
1、判断SD卡是否插入
boolean sdCardExist = Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
2、获得sd卡根目录:
if (sdCardExist) {
File dir = Environment.getExternalStorageDirectory();
path = dir.getAbsolutePath();
}
3、新建目录
boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
if (sdCardExist) {
File dir = Environment.getExternalStorageDirectory();
path=dir.getPath()+"/";
File dir= new File(path+ "123");
dir.mkdir();
}
运行结果: