优化 ModTranslations::loadFromResource

This commit is contained in:
Glavo 2025-08-02 22:25:03 +08:00
parent 9969dc60c5
commit e8b632d2dd

View File

@ -23,6 +23,9 @@ import org.jackhuang.hmcl.util.StringUtils;
import org.jackhuang.hmcl.util.io.IOUtils; import org.jackhuang.hmcl.util.io.IOUtils;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -121,9 +124,11 @@ public enum ModTranslations {
return true; return true;
} }
try { //noinspection DataFlowIssue
String modData = IOUtils.readFullyAsString(ModTranslations.class.getResourceAsStream(resourceName)); try (BufferedReader reader = new BufferedReader(
mods = Arrays.stream(modData.split("\n")).filter(line -> !line.startsWith("#")).map(Mod::new).collect(Collectors.toList()); new InputStreamReader(
ModTranslations.class.getResourceAsStream(resourceName), StandardCharsets.UTF_8))) {
mods = reader.lines().filter(line -> !line.startsWith("#")).map(Mod::new).collect(Collectors.toList());
return true; return true;
} catch (Exception e) { } catch (Exception e) {
LOG.warning("Failed to load " + resourceName, e); LOG.warning("Failed to load " + resourceName, e);