来自Apache commons-io的FileUtils.forceMkdir
而不是JRE内置的File.mkdirs
的用途是什么?forceMkdir
的文档是
创建目录,包括任何必需但不存在的父目录。如果已经存在具有指定名称的文件,但它不是目录,则将引发IOException。如果无法创建目录(或尚不存在),则将引发IOException。
虽然mkdirs
的文档是
创建以此抽象路径名命名的目录,包括任何必需但不存在的父目录。请注意,如果此操作失败,则可能已成功创建了一些必要的父目录。
抛出异常的唯一区别是吗?
最佳答案
看起来主要区别在于Apache commons的实现是“大声的”:如果要创建的目录已经存在,它将抛出异常,但实际上它是一个文件。看起来这个想法是包装JRE实现,该实现在目录创建失败的情况下返回false
而不是异常。