diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/GetTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/GetTask.java index ebf430e5a..2558368e1 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/GetTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/GetTask.java @@ -60,9 +60,10 @@ public final class GetTask extends FetchTask { @Override protected Context getContext(URLConnection connection, boolean checkETag, String bmclapiHash) { - return new Context() { - final ByteArrayOutputStream baos = new ByteArrayOutputStream(); + int length = connection.getContentLength(); + final var baos = new ByteArrayOutputStream(length <= 0 ? 8192 : length); + return new Context() { @Override public void write(byte[] buffer, int offset, int len) { baos.write(buffer, offset, len);