2012-03-11 99 views
0

所以我试图从while循环创建一组目录。 的文件创建部的代码是在这里:文件不想创建一个新目录(mkdir)?

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"); 
      } 

如果文件夹路径已经存在它说,它...但如果我尝试创建一个 - 它不工作(只是一种跳过)或者说错误...?

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

感谢您的任何意见或建议。

回答

10

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

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

+0

令人惊叹的东西!没有意识到有一个mkdirs :)谢谢大家! – Rabiani 2012-03-11 22:53:51

0

变化:

userDIR.mkdir(); 

要:

userDIR.mkdirs(); 
0

首先尝试用相反的mkdir的mkdirs()();其次,如果我没有错的存在();无论目录是否存在,返回总是为真。

0

你在窗户上吗?文件路径不应使用backslahses \\而不是//如指定的here