Remove a bunch of file descriptor leaks

Bug:
Change-Id: Idba1848b5082f95494a00c1b0fcf15a6aeee3737
diff --git a/src/test/examplesAndroidP/invokecustom/TestGenerator.java b/src/test/examplesAndroidP/invokecustom/TestGenerator.java
index 375dc34..7ee4bdc 100644
--- a/src/test/examplesAndroidP/invokecustom/TestGenerator.java
+++ b/src/test/examplesAndroidP/invokecustom/TestGenerator.java
@@ -3,13 +3,14 @@
 // BSD-style license that can be found in the LICENSE file.
 package invokecustom;
 
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
+
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.lang.invoke.CallSite;
-import java.lang.invoke.MethodHandle;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.MethodType;
+import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import org.objectweb.asm.ClassReader;
@@ -36,19 +37,23 @@
   }
 
   private void generateTests() throws IOException {
-    ClassReader cr = new ClassReader(new FileInputStream(classNamePath.toFile()));
-    ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES);
-    cr.accept(
-        new ClassVisitor(Opcodes.ASM6, cw) {
-          @Override
-          public void visitEnd() {
-            generateMethodTest1(cw);
-            generateMethodTest2(cw);
-            generateMethodMain(cw);
-            super.visitEnd();
-          }
-        }, 0);
-    new FileOutputStream(classNamePath.toFile()).write(cw.toByteArray());
+    try (InputStream inputStream = Files.newInputStream(classNamePath)) {
+      ClassReader cr = new ClassReader(inputStream);
+      ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES);
+      cr.accept(
+          new ClassVisitor(Opcodes.ASM6, cw) {
+            @Override
+            public void visitEnd() {
+              generateMethodTest1(cw);
+              generateMethodTest2(cw);
+              generateMethodMain(cw);
+              super.visitEnd();
+            }
+          }, 0);
+      try (OutputStream output = Files.newOutputStream(classNamePath)) {
+        output.write(cw.toByteArray());
+      }
+    }
   }
 
   /* Generate main method that only call all test methods. */