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();
}

复制代码

原文地址:https://www.cnblogs.com/mochaMM/p/5070877.html