2017-07-17 52 views
0

我正在使用Java 1.8。我想,如果不存在,使用这种方法来创建一个文件夹:如何确保文件夹名称或文件夹路径有效?

private void createDirIfNotExists(String dirChemin) { 
     File file = new File(dirChemin); 
     if (!file.exists()) { 
      file.mkdirs(); 
     } 
    } 

这工作时,我给它正确的路径,例如这将创建一个文件夹,如果不存在

createDirIfNotExists("F:\\dir") 

但是,当我写一个不正确的路径(或名称),它没有给我任何东西即使是一个错误!例如:

createDirIfNotExists("F:\\..?§;>") 

所以我想提高我的方法,所以它可以创建文件夹如果要确保我的路径是正确的不存在它,否则它应该给我一个错误消息。

+5

注意'如果失败,mkdirs'返回'false',则可以使用该值。 – Berger

+4

https://docs.oracle.com/javase/7/docs/api/java/io/File.html#mkdirs() – Compass

+2

[java正则表达式匹配文件路径](https:// stackoverflow。 com/questions/4489582/java-regular-expression-to-match-file-path) – azro

回答

1

mkdirs()还创建了父目录这个File表示的路径。

javadocsmkdirs()

创建此抽象路径名指定的目录,包括 必需但不存在的父目录。请注意,如果这个 操作失败,它可能已经成功创建了一些 必需的父目录。

javadocsmkdir()

创建此抽象路径名指定的目录。

实施例:

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

将产生false用于第一[和没有目录将被创建]和true用于第二,你将已经创建non_existing_dir/someDir

+1

https://stackoverflow.com/questions/9820088/java-io-file/9820115#9820115 – JajaDrinker

+0

你也可以使用'f.exists();' –

相关问题