2013-02-16 118 views
0

我無法使用以下代碼創建文件夾。Java IO - 文件夾創建錯誤

import java.io.File; 

public class Fileupload 
{ 
public static void main(String[] args) 
    { 
     File f = new File("C:\\BOS\\BOS-5.8-Tomcat-6.0.35\\webapps\\bonita\\ECR-DZ-00013\\Ranjeet\\"); 
     if (f.exists()) 
     { 
      System.out.println("Already Present"); 
     } 
     else 
     { 
      f.mkdir(); 
      System.out.println("Created"); 
     } 
    } 
} 

如果我從路徑中刪除我的名字「Ranjeet」,那麼它會被創建,否則文件夾不會被相同的代碼創建。

+0

你能提供該程序的輸出,當它不工作(即堆棧跟蹤) – 2013-02-16 09:32:26

+0

你能不能給我們打電話的結果f.canWrite()和f.canRead()文件對象嗎?如果其中任何一個都是錯誤的,它就解釋你的問題 – Prime 2013-02-16 09:42:24

+0

如果您使用的是Java SE 7,請考慮使用新的NIO.2 File API:http://docs.oracle.com/javase/tutorial/essential/io/fileio.html – Puce 2013-02-16 10:07:37

回答

9

我們不知道足以成爲確保這是答案,但...

mkdir依賴於現有的父目錄。所以它將不能創建Ranjeet目錄,除非ECR-DZ-00013已經存在。

但是,您可以使用mkdirs,而不是其在需要創建所有的中間目錄:

創建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。請注意,如果此操作失敗,則可能會成功創建一些必需的父目錄。