2015-05-25 111 views
0

我试图让它尽可能简单。使用java.io.File在Eclipse中创建目录/目录

实施例:

File f = new File("non_existing_dir/someDir"); 
System.out.println(f.mkdir()); 
System.out.println(f.mkdirs()); 

mkdir()mkdirs()和返回两个false°_°。这两个工作(创建目录),如果我使用双反斜线\\(如"\\non_existing_dir\\someDir"但是:

,如果我以后做.toURI()我得到:file:/Users/MyName/Desktop/%5Cnon_existing_dir%5CsomeDir/

,如果我做.getPath()我收到:\non_existing_dir\someDir

如果我这样做.getCanonicalPath()我收到:/Users/MyName/Desktop/\non_existing_dir\someDir



所以我想有这个,而不是重新sults:

.toURI()与接收:file:/Users/MyName/Desktop/non_existing_dir/someDir/

.getPath()接收:/non_existing_dir/someDir

并用.getCanonicalPath()接收:/Users/MyName/Desktop/non_existing_dir/someDir


在此先感谢大家。

+1

平台独立的方式是使用'File.separator'。 – ares

+0

我正在使用Linux 12.它的输出如你所料 –

回答

1

如果non_existing_dir不存在,您可以检查getParentFile()并使用mkdir()创建它。

也避免操作系统与File.separator之间的问题。

String filename = "non_existing_dir" + File.separator + "someDir"; 

File f = new File(filename); 
if (!f.exists()) { 
    if (!f.getParentFile().exists()) { 
     // make the dir 
     f.getParentFile().mkdir(); 
    } 
    f.mkdir(); 
} 
+1

非常感谢:-)它现在有效。并感谢其他人也如此迅速地评论我的问题。 – Aerox