JIRA: https://jira.spring.io/browse/INT-4146 Fixes GH-1942 (https://github.com/spring-projects/spring-integration/issues/1942) Previously the `FileWritingMessageHandler` didn't wrap `new OutputStream()` to the `try...catch...finally` block, therefore any errors on that (e.g. `FileNotFoundException` because of permissions) cause an early exist without `inputStream.close()` * Move a `new OutputStream()` to the `try...catch` * Change `destinationDirectory.canWrite()` to the `Files.isWritable(destinationDirectory.toPath())` because the first one doesn't work on Windows **Cherry-pick to 4.3.x and 4.2.x but without Files.isWritable() change**