【问题标题】:File does not want to make a new directory (mkdir)?文件不想创建一个新目录(mkdir)?
【发布时间】:2012-03-11 20:49:22
【问题描述】:

所以我试图从 while 循环中创建一组目录。 文件创建部分的代码在这里:

File userDIR=new File("Folder1//"+VARIABLENUMBER+"//"+VARIABLENUMBER+"_Single.txt");
            boolean exists = userDIR.exists();
            System.out.println(userDIR);//prints correct location

            if (!exists) {
                System.out.println("does not exist");
                userDIR.mkdir();//THIS IS NOT HAPPENING
                System.out.println(userDIR.mkdir());//Prints FALSE?

            }else{
                System.out.println("File Found");
            }

如果文件夹路径已经存在,它说它确实存在......但如果我尝试创建一个 - 它不起作用(只是跳过)或者说是假......?

无法弄清楚我做错了什么?

感谢任何 cmets 或建议。

【问题讨论】:

    标签: java file while-loop mkdir


    【解决方案1】:

    我认为您需要使用userDir.mkdirs 而不是mkdir

    不同之处在于后者将尝试仅创建最低级别的目录,如果任何父目录不存在,它将失败。但是,userDir.mkdirs 也会创建任何不存在的父目录。

    【讨论】:

    • 惊人的东西!没有意识到有一个 mkdirs :) 谢谢大家!
    【解决方案2】:

    变化:

    userDIR.mkdir(); 
    

    收件人:

    userDIR.mkdirs();
    

    【讨论】:

      【解决方案3】:

      首先尝试使用mkdirs()而不是mkdir(),其次,如果我没记错exists();在目录的情况下总是返回真,不管他是否存在。

      【讨论】:

        【解决方案4】:

        你在窗户上吗?文件路径不应该使用反斜杠\\而不是//指定here

        【讨论】:

          最近更新 更多