diff --git a/common/src/main/java/bisq/common/storage/FileUtil.java b/common/src/main/java/bisq/common/storage/FileUtil.java index 89289d8a391..85862a06de6 100644 --- a/common/src/main/java/bisq/common/storage/FileUtil.java +++ b/common/src/main/java/bisq/common/storage/FileUtil.java @@ -108,14 +108,14 @@ public static void deleteDirectory(File file, @Nullable File exclude, boolean ig File[] files = file.listFiles(); if (files != null) for (File f : files) { - if (!excludeFileFound) - excludeFileFound = f.equals(exclude); - if (!f.equals(exclude)) + boolean excludeFileFoundLocal = exclude != null ? f.getAbsolutePath().equals(exclude.getAbsolutePath()) : false; + excludeFileFound |= excludeFileFoundLocal; + if (!excludeFileFoundLocal) deleteDirectory(f, exclude, ignoreLockedFiles); } } // Finally delete main file/dir if exclude file was not found in directory - if (!excludeFileFound && !file.equals(exclude)) { + if (!excludeFileFound && !(exclude != null ? file.getAbsolutePath().equals(exclude.getAbsolutePath()) : false)) { try { deleteFileIfExists(file, ignoreLockedFiles); } catch (Throwable t) {