获取Android设备的外存路径的接口为:
- Environment.getExternalStorageDirectory().getAbsolutePath()
所以,给自己的程序建个目录可如下所写:
- String appHome = Environment.getExternalStorageDirectory().getAbsolutePath()+"/myApp";
- createDir(appHome)
但是,如果要建多层目录的文件夹的话,可不能一蹴而就。像下面这样写代码的话,执行代码后,在Android设备的外存里是不会创建文件夹“myApp/sub”的:
- String appHome = Environment.getExternalStorageDirectory().getAbsolutePath()+"/myApp/sub";
- createDir(appHome)
如果要建多层目录的文件夹,只能是一步一步的建,如下所示:
- String appHome = Environment.getExternalStorageDirectory().getAbsolutePath()+"/myApp";
- String subPath = appHome+"/sub";
- createDir(appHome);
- createDir(subPath);
(其中createDir不是Android内部函数,而是将自己写的创建目录的代码,该函数就封装了两行代码,详见http://xuewei.blog.51cto.com/6061915/1075334。
而且,事实上,在之前的博文说过要逐级创建目录,是因为在createDir函数的实现中选错了函数。如果要创建多级目录则应该使用mkdirs()函数,而非mkdir()函数。只要使用mkdirs()函数,就不需要逐级创建目录了。)