往sd卡中添加数据,首先得获取sd卡的读写权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
向sdcard中创建目录。
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String cardPath=Environment.getExternalStorageDirectory().getAbsolutePath();
Log.i("sdcard path", cardPath);
String path=cardPath+"/package/down";
//文件路径
File file=new File(path);
//新建文件
file.mkdirs();
//删除文件
file.delete();
}
获取sd的路径是不需要权限的。在SDcard中创建和删除文件需要权限,如果没有权限的话,就不能对文件进行操作。
但,在你创建文件的时候,file其实有两个方法的。
看字面意思就是,一个的父目录必须存在,一个在父目录不存在的时候会创建父目录。
到底是什么意思呢?我们先测试在单个目录。
String path=cardPath+"/package";
在这,创建单目录的时候,这两个方法的效果一样的,都可以创建package文件夹。
接下来,看看测试子目录在父目录不存在下的情况。
String path=cardPath+"/package/down";
先看先file.mkdir()的效果。
在这里,因为父目录不存在,所以就没创建文件。
接下来,
file.mkdirs();
这里,我们可以明显看的看到不仅仅是创建了子目录,还创建了父目录。
现在理解了mkdir()和mkdirs()的不同了吧。