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.");
}
}