我正在尝试使用File.mkdirs()创建一个目录。但是,它的行为似乎很奇怪:有时它会创建目录,但其他时候,却会默默地忽略目录的创建。
前面我使用了mkdir(),但在其中一篇文章中,我读到使用mkdirs()可以解决这个问题。然而,似乎并非如此。有什么帮助吗?
此代码正在windows机器上运行。
代码:
File myDir = new File(dirPath);
try{
myDir.mkdirs();
}
catch(Exception e) {
e.printStackTrace();
}发布于 2015-04-16 12:02:04
( a)应该检查mkdirs的返回值;如果未创建false dirs,则应检查mkdirs返回值。
( b)最好使用1.7的java.nio.file.Files.createDirectories,它将创建所有dirs,或者抛出一个异常并解释其失败的原因。
发布于 2015-04-16 11:58:26
根据文件API签名的mkdirs()是
公用布尔值mkdirs()
所以你只需要检查一下dir是否已经创建..。
File myDir = new File(dirPath);
try{
if (!myDir.mkdirs()) {
// error here
}
}
catch(Exception e) {
e.printStackTrace();
}发布于 2015-04-16 11:57:38
它不是无声的。根据文档
mkdirs returns true if and only if the directory was created; false otherwisehttps://stackoverflow.com/questions/29673973
复制相似问题