diff --git a/main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/DefaultNioAccess.java b/main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/DefaultNioAccess.java index 5d61ccb89..2196b7a3e 100644 --- a/main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/DefaultNioAccess.java +++ b/main/filesystem-nio/src/main/java/org/cryptomator/filesystem/nio/DefaultNioAccess.java @@ -2,6 +2,7 @@ package org.cryptomator.filesystem.nio; import java.io.IOException; import java.nio.channels.AsynchronousFileChannel; +import java.nio.file.AccessDeniedException; import java.nio.file.CopyOption; import java.nio.file.FileSystems; import java.nio.file.Files; @@ -53,7 +54,17 @@ class DefaultNioAccess implements NioAccess { @Override public void delete(Path path) throws IOException { - Files.delete(path); + try { + Files.delete(path); + } catch (AccessDeniedException e) { + // workaround for https://github.com/cryptomator/cryptomator/issues/317 + try { + if (path.toFile().delete()) return; + } catch (UnsupportedOperationException e2) { + // ignore + } + throw e; + } } @Override