22
33import static datadog .trace .util .Strings .getResourceName ;
44
5+ import java .io .BufferedOutputStream ;
56import java .io .ByteArrayOutputStream ;
67import java .io .File ;
7- import java .io .FileOutputStream ;
88import java .io .IOException ;
99import java .io .InputStream ;
1010import java .lang .reflect .Method ;
1111import java .net .URL ;
12+ import java .nio .file .Files ;
1213import java .util .UUID ;
1314import java .util .jar .JarEntry ;
1415import java .util .jar .JarOutputStream ;
@@ -28,14 +29,9 @@ public static byte[] convertToByteArray(final InputStream resource) throws IOExc
2829 }
2930
3031 public static byte [] convertToByteArray (final Class <?> clazz ) throws IOException {
31- InputStream inputStream = null ;
32- try {
33- inputStream = clazz .getClassLoader ().getResourceAsStream (getResourceName (clazz .getName ()));
32+ try (InputStream inputStream =
33+ clazz .getClassLoader ().getResourceAsStream (getResourceName (clazz .getName ()))) {
3434 return convertToByteArray (inputStream );
35- } finally {
36- if (inputStream != null ) {
37- inputStream .close ();
38- }
3935 }
4036 }
4137
@@ -56,7 +52,8 @@ public static URL createJarWithClasses(final ClassLoader loader, final String...
5652
5753 final Manifest manifest = new Manifest ();
5854 try (final JarOutputStream target =
59- new JarOutputStream (new FileOutputStream (tmpJar ), manifest )) {
55+ new JarOutputStream (
56+ new BufferedOutputStream (Files .newOutputStream (tmpJar .toPath ())), manifest )) {
6057 for (final String resourceName : resourceNames ) {
6158 try (InputStream is = loader .getResourceAsStream (resourceName )) {
6259 if (is != null ) {
@@ -79,11 +76,13 @@ public static URL createJarWithClasses(final ClassLoader loader, final String...
7976 * @throws IOException
8077 */
8178 public static URL createJarWithClasses (final Class <?>... classes ) throws IOException {
82- final File tmpJar = File .createTempFile (UUID .randomUUID ().toString () + "" , ".jar" );
79+ final File tmpJar = File .createTempFile (UUID .randomUUID ().toString (), ".jar" );
8380 tmpJar .deleteOnExit ();
8481
8582 final Manifest manifest = new Manifest ();
86- final JarOutputStream target = new JarOutputStream (new FileOutputStream (tmpJar ), manifest );
83+ final JarOutputStream target =
84+ new JarOutputStream (
85+ new BufferedOutputStream (Files .newOutputStream (tmpJar .toPath ())), manifest );
8786 for (final Class <?> clazz : classes ) {
8887 addToJar (getResourceName (clazz .getName ()), convertToByteArray (clazz ), target );
8988 }
@@ -92,11 +91,6 @@ public static URL createJarWithClasses(final Class<?>... classes) throws IOExcep
9291 return tmpJar .toURI ().toURL ();
9392 }
9493
95- public static URL createJarWithClasses () {
96-
97- return null ;
98- }
99-
10094 private static void addToJar (
10195 final String resourceName , final byte [] bytes , final JarOutputStream jarOutputStream )
10296 throws IOException {
0 commit comments