Make sure written files are actually closed.

Bug:
Change-Id: I83158aab53b67cafb39589736017580018261da6
diff --git a/src/main/java/com/android/tools/r8/utils/FileSystemOutputSink.java b/src/main/java/com/android/tools/r8/utils/FileSystemOutputSink.java
index 4653fb1..e7cfc28 100644
--- a/src/main/java/com/android/tools/r8/utils/FileSystemOutputSink.java
+++ b/src/main/java/com/android/tools/r8/utils/FileSystemOutputSink.java
@@ -61,14 +61,15 @@
 
   protected void writeToFile(Path output, OutputStream defValue, byte[] contents)
       throws IOException {
-    Closer closer = Closer.create();
-    OutputStream outputStream =
-        FileUtils.openPathWithDefault(
-            closer,
-            output,
-            defValue,
-            StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
-    outputStream.write(contents);
+    try (Closer closer = Closer.create()) {
+      OutputStream outputStream =
+          FileUtils.openPathWithDefault(
+              closer,
+              output,
+              defValue,
+              StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
+      outputStream.write(contents);
+    }
   }
 
   protected OutputMode getOutputMode() {