Amazon S3: Add option to download to and overwrite existing files #2595
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
Issue: #2300
Migrating from SDK V1 to V2 we hit an issue where do something like this (pseudo-code):
This allows us to download a temp file, validate it and if we are happy flip it to the actual path overriding the existing previous file.
This works on V1 because: because it just opens an outputstream which by default overwrites (here)
but doesn't work on V2 because we are not passing any options to
Files.copy
(here)Description
This adds the option to download to and overwrite existing files by adding another method overload for
toFile
with a boolean flag to overwrite which translate to callingFiles.copy
withStandardCopyOption.REPLACE_EXISTING
option (only option allowed when usingFiles.copy
with an input stream)Testing
Added a unit test
Screenshots (if appropriate)
Types of changes
Checklist
mvn install
succeedsLicense