public static void verifyWritableDirectory()

in c3r-sdk-core/src/main/java/com/amazonaws/c3r/utils/FileUtil.java [162:176]


    public static void verifyWritableDirectory(final String location, final boolean overwrite) {
        if (location.isBlank()) {
            throw new C3rIllegalArgumentException("File path is empty.");
        }
        // Check that it's a writeable directory
        final Path outFileDirectory = Path.of(location);
        if (Files.exists(outFileDirectory) && !overwrite) {
            throw new C3rIllegalArgumentException(
                    "Cannot write to path `" + location + "`. path already exists and overwrite flag is false.");
        } else if (Files.exists(outFileDirectory) && !Files.isDirectory(outFileDirectory)) {
            throw new C3rIllegalArgumentException("Cannot write to path `" + location + "`. Path is not a directory.");
        } else if (Files.exists(outFileDirectory) && !Files.isWritable(outFileDirectory)) {
            throw new C3rIllegalArgumentException("Cannot write to path `" + location + "`. Permission denied.");
        }
    }