From 2ea63a93d21bf5834adbbe6b2bd053aebd7e263a Mon Sep 17 00:00:00 2001 From: Claus Stadler Date: Tue, 26 Mar 2024 13:24:44 +0100 Subject: [PATCH] Another update to FileUtils.safeCreate (now creates parent directories) --- .../src/main/java/org/aksw/commons/io/util/FileUtils.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/aksw-commons-io-parent/aksw-commons-io-utils/src/main/java/org/aksw/commons/io/util/FileUtils.java b/aksw-commons-io-parent/aksw-commons-io-utils/src/main/java/org/aksw/commons/io/util/FileUtils.java index 4d1b46ed..9c597481 100644 --- a/aksw-commons-io-parent/aksw-commons-io-utils/src/main/java/org/aksw/commons/io/util/FileUtils.java +++ b/aksw-commons-io-parent/aksw-commons-io-utils/src/main/java/org/aksw/commons/io/util/FileUtils.java @@ -148,6 +148,11 @@ public static void safeCreate(Path target, OverwriteAction overwriteAction, IOWr } if (!(Boolean.TRUE.equals(fileExists) && OverwriteAction.SKIP.equals(overwriteAction))) { + Path parent = target.getParent(); + if (parent != null) { + Files.createDirectories(parent); + } + boolean allowOverwrite = OverwriteAction.OVERWRITE.equals(overwriteAction); // What to do if the tmp file already exists? try (OutputStream out = Files.newOutputStream(tmpFile, allowOverwrite ? StandardOpenOption.CREATE : StandardOpenOption.CREATE_NEW)) {