2015-08-19 136 views
0

我正在創建一個腳本,用於創建從數據庫中獲取的具有名稱的子目錄。 我傳遞2個參數,創建2個目錄,一個在另一個內部。代碼片段如下。在名稱中使用'/'創建目錄

File files = new File(name1+"\"+name2); 
if (!files.exists()) { 
    if (files.mkdirs()) { 
     System.out.println("sub directories created successfully"); 
    } else { 
     System.out.println("failed to create sub directories"); 
    } 
} 

「name2」參數格式爲「abc/d/e」,這必須是目錄的名稱。 使用上面的代碼,它創建單獨的文件夾爲abc,d,e。 我正在學習java & linux平臺

任何解決方案。

+0

\用於特殊字符。您必須使用「\\」正確關閉字符串。 – Emd4600

+2

文件名不能包含正斜槓。正斜槓是Linux中的路徑分隔符。 – khelwood

+1

@Arnab反斜槓或轉發 - ?標題說一件事,並編碼另一件。 – Biffen

回答

2

Linux文件系統條目(文件名,目錄名,套接字名稱等)不能包含/。該字符被保留爲路徑分隔符。你想做什麼是不可能的。

+0

其實你可以用'mkdir -p foo/bar'。不太清楚如何映射到Java文件對象。 – max

+2

如果它不存在,則創建一個目錄'foo',並在其中有一個目錄'bar'。它不會創建一個名爲'foo/bar'的單個目錄。 – chepner

+0

是真實的,但從他的代碼看,他實際上想要創建子目錄。 – max

相關問題