From 55092326a4448bd8e8ba33ffdfc5d89c7deb39db Mon Sep 17 00:00:00 2001 From: Glavo Date: Sat, 27 Nov 2021 13:24:54 +0800 Subject: [PATCH] Use StringWriter instead of ByteArrayOutputStream --- .../java/org/jackhuang/hmcl/util/StringUtils.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java index 324de09f6..a6abd6543 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java @@ -19,9 +19,7 @@ package org.jackhuang.hmcl.util; import org.jackhuang.hmcl.util.platform.OperatingSystem; -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; -import java.io.UnsupportedEncodingException; +import java.io.*; import java.nio.charset.CharsetEncoder; import java.nio.charset.StandardCharsets; import java.util.*; @@ -37,13 +35,11 @@ public final class StringUtils { } public static String getStackTrace(Throwable throwable) { - ByteArrayOutputStream stream = new ByteArrayOutputStream(512); - try { - throwable.printStackTrace(new PrintStream(stream, false, "UTF-8")); - return stream.toString("UTF-8"); - } catch (UnsupportedEncodingException e) { - throw new InternalError(e); + StringWriter stringWriter = new StringWriter(512); + try (PrintWriter printWriter = new PrintWriter(stringWriter)) { + throwable.printStackTrace(printWriter); } + return stringWriter.toString(); } public static String getStackTrace(StackTraceElement[] elements) {