diff --git a/main/filesystem-crypto/src/main/java/org/cryptomator/filesystem/crypto/CryptoFolder.java b/main/filesystem-crypto/src/main/java/org/cryptomator/filesystem/crypto/CryptoFolder.java index 363113a39..10e4289a6 100644 --- a/main/filesystem-crypto/src/main/java/org/cryptomator/filesystem/crypto/CryptoFolder.java +++ b/main/filesystem-crypto/src/main/java/org/cryptomator/filesystem/crypto/CryptoFolder.java @@ -8,6 +8,7 @@ *******************************************************************************/ package org.cryptomator.filesystem.crypto; +import static java.lang.String.format; import static java.nio.charset.StandardCharsets.UTF_8; import static org.cryptomator.filesystem.crypto.Constants.DIR_SUFFIX; @@ -88,8 +89,12 @@ class CryptoFolder extends CryptoNode implements Folder { } private Stream nonConflictingFiles() { - final Stream files = physicalFolder().filter(Folder::exists).map(Folder::files).orElse(Stream.empty()); - return files.filter(containsEncryptedName()).map(conflictResolver::resolveIfNecessary).distinct(); + if (exists()) { + final Stream files = physicalFolder().filter(Folder::exists).map(Folder::files).orElse(Stream.empty()); + return files.filter(containsEncryptedName()).map(conflictResolver::resolveIfNecessary).distinct(); + } else { + throw new UncheckedIOException(new FileNotFoundException(format("Folder %s does not exist", this))); + } } private Predicate containsEncryptedName() {