From 67af50b49e99575bdf9ceb5c176c3d654babdc80 Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Sun, 13 Nov 2016 02:00:26 +0800 Subject: [PATCH] Avoid unnecessary Guava dependencies --- source/net/filebot/cli/ScriptBundle.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/net/filebot/cli/ScriptBundle.java b/source/net/filebot/cli/ScriptBundle.java index 4269c99d..b7ba12e8 100644 --- a/source/net/filebot/cli/ScriptBundle.java +++ b/source/net/filebot/cli/ScriptBundle.java @@ -15,9 +15,8 @@ import java.util.Map; import java.util.jar.JarEntry; import java.util.jar.JarInputStream; -import com.google.common.io.ByteStreams; - import net.filebot.Resource; +import net.filebot.util.ByteBufferOutputStream; public class ScriptBundle implements ScriptProvider { @@ -37,16 +36,19 @@ public class ScriptBundle implements ScriptProvider { continue; // completely read and verify current jar entry - byte[] bytes = ByteStreams.toByteArray(jar); + ByteBufferOutputStream buffer = new ByteBufferOutputStream(f.getSize()); + buffer.transferFully(jar); + jar.closeEntry(); // file must be signed Certificate[] certificates = f.getCertificates(); - if (certificates == null || stream(f.getCertificates()).noneMatch(certificate::equals)) + if (certificates == null || stream(f.getCertificates()).noneMatch(certificate::equals)) { throw new SecurityException(String.format("BAD certificate: %s", Arrays.toString(certificates))); + } - return new String(bytes, UTF_8); + return UTF_8.decode(buffer.getByteBuffer()).toString(); } }