File.mkdirs()不能一直工作

时间:2015-04-16 11:55:39

标签: java

我正在尝试使用File.mkdirs()创建目录。但是,它似乎表现得很奇怪:有时会创建目录,但有时候,它会默默地忽略目录的创建。

之前我使用的是mkdir(),但在其中一篇文章中,我读到使用mkdirs()可以解决问题。但是,似乎没有。有什么帮助吗?

此代码在Windows计算机上运行。

CODE:

File myDir = new File(dirPath);

try{
      myDir.mkdirs();
   } 
   catch(Exception e) {
        e.printStackTrace();
   }

3 个答案:

答案 0 :(得分:5)

a)你应该检查mkdirs的返回值;如果没有创建假dirs

b)最好使用1.7的java.nio.file.Files.createDirectories,它将创建所有dirs或将抛出异常并解释失败的原因

答案 1 :(得分:3)

根据mkdirs()的{​​{3}}签名是

  

public boolean mkdirs()

所以你只需要检查dir是否已经创建......

File myDir = new File(dirPath);

try{
      if (!myDir.mkdirs()) {
          // error here
      }
   } 
   catch(Exception e) {
        e.printStackTrace();
   }

答案 2 :(得分:1)

它不是默默无闻的。根据{{​​3}}:

mkdirs returns true if and only if the directory was created; false otherwise