Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么要使用FileUtils.forceMkdir?_Java_Apache Commons_Apache Commons Io - Fatal编程技术网

Java 为什么要使用FileUtils.forceMkdir?

Java 为什么要使用FileUtils.forceMkdir?,java,apache-commons,apache-commons-io,Java,Apache Commons,Apache Commons Io,Apache commons io中的FileUtils.forceMkdir而不是JRE中内置的File.mkdirs有什么用 到forceMkdir的文档如下 创建一个目录,包括任何必要但不存在的父目录。如果已存在具有指定名称的文件,但该文件不是目录,则会引发IOException。如果目录无法创建(或不存在),则会引发IOException 而mkdirs的文档 创建以此抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,它可能已成功创建一些必要的父目录 引发异常类

Apache commons io中的
FileUtils.forceMkdir
而不是JRE中内置的
File.mkdirs
有什么用

forceMkdir
的文档如下

创建一个目录,包括任何必要但不存在的父目录。如果已存在具有指定名称的文件,但该文件不是目录,则会引发IOException。如果目录无法创建(或不存在),则会引发IOException

mkdirs
的文档

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


引发异常类型的唯一区别是什么?

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

注意
Path
文件
的更新和更通用的类。看看哪一个也一样。使用JRE版本,
Files
@JoopEggen是否有一些技术原因使我想使用
Files
实现而不是
File
?它是较新的代码,就像使用List而不是ArrayList一样,路径可以是zip中的文件(一个zip文件系统,带有URI jar:File:/…)。新的和旧的样式函数之间有一些细微的差别,但在这里不重要