我正在尝试使用File.mkdirs()
创建目录。但是,它似乎表现得很奇怪:有时会创建目录,但有时候,它会默默地忽略目录的创建。
之前我使用的是mkdir(),但在其中一篇文章中,我读到使用mkdirs()可以解决问题。但是,似乎没有。有什么帮助吗?
此代码在Windows计算机上运行。
CODE:
File myDir = new File(dirPath);
try{
myDir.mkdirs();
}
catch(Exception e) {
e.printStackTrace();
}
答案 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