Forráskód Böngészése

Workaround for Issue #317

Markus Kreusch 8 éve
szülő
commit
e8db836eff

+ 12 - 1
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