内部存储上的Android目录创建失败

时间:2014-03-25 21:11:39

标签: java android

我想创建一个名为lists的新文件夹/目录,但是如果有人有任何建议会非常感激,它会继续失败。谢谢。

File file = new File(this.getFilesDir() +File.separator +"Lists");

if(file.mkdirs()){
    System.out.println("Directory success");
}else{
    System.out.println("Directory failed!");
}

System.out.println(file.getAbsolutePath());
if(file.isDirectory()){
    System.out.println("File is a directory");
    File lists[] = file.listFiles();
    String names[] = new String[lists.length];
    if(lists.length >0){
        for(int i = 0; i < lists.length; i ++){
            names[i] = lists[i].getName();
        }
    }else{
        names[0] = "Create New List";
    }
}else{
    System.out.println("File is not a directory");
}

1 个答案:

答案 0 :(得分:0)

我的第一个答案是完全错误的(我为此道歉)!我相信这是正确的。

我认为问题在于以下几行:

File lists[] = file.listFiles();
String names[] = new String[lists.length];
if(lists.length > 0){
    for(int i = 0; i < lists.length; i ++){
        names[i] = lists[i].getName();
    }
}else{
    names[0] = "Create New List";
}

您刚刚创建了该文件夹,因此其中没有文件,因此lists[]不会有任何大小,但在您的else语句中,您正在向names数组中添加一个项目即使它没有大小。从else语句中删除names[0] = "Create New List";应该有效。