2015-08-19 101 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

相关问题