我想创建一个新目录。 如果它不存在 - 创建它。 如果存在 - 我想"重置"/"截断"目录。 换句话说,我想得到一个空目录
我的问题是——
- 我阅读它是为了检查目录是否存在以决定是否 或者不创建它是一种不好的做法,所以我无法确定下一步应该做什么。 您可以在如何在 Java 中创建目录中阅读有关为什么这是一种不良做法的说明?
- 我可以遍历所有文件并删除它们,但我正在寻找一种更优雅的方法。
使用一些 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);
}
确实,这是一种不好的做法。因为如果存在相同的目录名称,则mkdir无法创建目录。因此,无需仔细检查是否存在同名目录。这就是为什么在致电mkdir之前检查是不好的做法。
您可以做的简单方法是首先检查目录是否存在。 如果是这样,则删除它并调用MKDIR
您可以查看 JDK 错误报告。社区成员将其称为错误。