Java中的mkdir -p等同于什么?

16

可能是重复问题:
递归创建目录

有没有一种类似Java的方式可以创建文件夹(们),并且如果已经存在就不会报错?

引用mkdir的文档:

-p    Create intermediate directories as required... with this option 
      specified, no error will be reported if a directory given as an 
      operand already exists.
3个回答

19

您是否尝试过阅读 java.io.File 的文档?File#mkdirs() 正好能够满足您的需求。


2
文件,mkdirs() 抑制了大多数异常并且只在出现问题时返回 false,因此您不知道发生了什么。可能出现的问题之一是叶子目录已经存在 - 这被 mkdir -p 静默接受。 - janek37
3
如果答案不带轻蔑的语气,我会更感激。 - gonzojive

9
在Java中,文件和目录都被表示为File对象。因此,您可以执行以下操作:
File file = new File("C:/a");
file.mkdirs();

希望这有所帮助。

使用mkdir()只会创建路径中的最后一个目录,你需要使用mkdirs()来创建整个路径。 - GaryF
谢谢@GaryF,那是个打错字。感谢您没有给我点踩。 - TechSpellBound

7

您需要使用File.mkdirs()方法。

创建指定路径的目录,包括必要但不存在的父目录。请注意,如果此操作失败,则可能已成功创建某些必要的父目录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接