2012-03-11 101 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