Java - 创建一个空目录

时间:2017-07-31 10:04:55

标签: java directory create-directory

我想创建一个新目录。 如果它不存在 - 创建它。 如果它存在 - 我想"重置" /"截断"目录。 换句话说,我想要一个空目录

我的问题是 -

  1. 我读到了检查目录是否存在以决定是否存在 或者不创造它是一种不好的做法,所以我无法决定接下来该做什么。 您可以在How to create a directory in Java?
  2. 中阅读有关为什么这是一种不良做法的说明
  3. 我可以迭代所有文件并删除它们,但我正在寻找更优雅的方法。

2 个答案:

答案 0 :(得分:1)

使用一些java 8模式可以提高目录清理和创建的效率,

File file = new File(path);
    if(!file.exists())
    {

        file.mkdir();
    }
    else
    {            
        Files.walk(Paths.get("C:/test/ABC/"))
        .filter(Files::isRegularFile)
        .map(Path::toFile)
        .forEach(File::delete);
    }

答案 1 :(得分:1)

这是不好的做法。如果存在相同的目录名,则 mkdir 无法创建目录。因此不需要仔细检查是否存在具有相同名称的目录。这就是为什么在调用 mkdir 之前检查是不好的做法。

您可以做的简单方法是首先检查目录是否存在。如果是,那么删除并调用 mkdir

您可以查看JDK Bug report。社区成员将其称为错误。