android mkdirs返回false

时间:2015-02-16 15:04:53

标签: android mkdir

我一直在使用以下代码成功创建文件夹,但是在三星tab2 Android 4.2.2(pre kitkat new security)上,即使新文件夹不存在,该命令也会返回false

newfolder是一个来自文件夹选择对话框的字符串变量,例如用户在对话框中选择“/ mnt / extSdcard”,我们追加“/ myfolder”制作: “到/ mnt / extSdcard / MyFolder文件” 我们也试过了 “/存储/ extSdcard / MyFolder中”

try {
    File sd = new File(newfolder);
    if(!sd.exists() || !sd.isDirectory()) {
        allisgood = sd.mkdirs();
    }
} catch (Exception ex) {
即使myfolder在/ storage / extSdcard或/ mnt / extSdcard

下不存在,

allisgood也会返回false

Android权限是:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

任何想法为什么mkdirs失败以及可以做些什么来使其发挥作用。

注意我们不能使用Environment.getExternalStorageDirectory()作为返回 模拟/ 0 这是该设备上的内部不可移动SD卡,除此之外,我们希望用户能够使用文件夹选择对话框选择myfolder的位置,并且可以是内部或可移动的SD卡。

1 个答案:

答案 0 :(得分:0)

哦,哎呀,在代码中我进一步将用户在对话框中选择的文件夹路径设置为小写。而且我们都知道Android / Unix是区分大小写的,这意味着extsdcard不存在! AHHHHHH!遗憾