来自Apache commons-io的FileUtils.forceMkdir而不是JRE内置的File.mkdirs的用途是什么?

forceMkdir的文档是


  创建目录,包括任何必需但不存在的父目录。如果已经存在具有指定名称的文件,但它不是目录,则将引发IOException。如果无法创建目录(或尚不存在),则将引发IOException。


虽然mkdirs的文档是


  创建以此抽象路径名命名的目录,包括任何必需但不存在的父目录。请注意,如果此操作失败,则可能已成功创建了一些必要的父目录。


抛出异常的唯一区别是吗?

最佳答案

看起来主要区别在于Apache commons的实现是“大声的”:如果要创建的目录已经存在,它将抛出异常,但实际上它是一个文件。看起来这个想法是包装JRE实现,该实现在目录创建失败的情况下返回false而不是异常。

10-08 06:16