Android SDCard文件、目录操作一
一、权限问题
参考:http://my.unix-center.net/~Simon_fu/?p=531
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(); }
运行结果: