From 608fe65e9c36115a89951c6aa6aca451d7f33c82 Mon Sep 17 00:00:00 2001 From: lvxnull2 <184518908+lvxnull2@users.noreply.github.com> Date: Fri, 25 Oct 2024 17:37:16 +0200 Subject: [PATCH] Always save config in utf-8 --- .../java/dev/terminalmc/commandkeys/config/Config.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/dev/terminalmc/commandkeys/config/Config.java b/common/src/main/java/dev/terminalmc/commandkeys/config/Config.java index 3ca9abc..36cdbdc 100644 --- a/common/src/main/java/dev/terminalmc/commandkeys/config/Config.java +++ b/common/src/main/java/dev/terminalmc/commandkeys/config/Config.java @@ -10,10 +10,9 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; +import java.io.*; import java.lang.reflect.Type; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardCopyOption; @@ -210,7 +209,7 @@ public static Config resetAndSave() { } private static @Nullable Config load(Path file, Gson gson) { - try (FileReader reader = new FileReader(file.toFile())) { + try (InputStreamReader reader = new InputStreamReader(new FileInputStream(file.toFile()), StandardCharsets.UTF_8)) { return gson.fromJson(reader, Config.class); } catch (Exception e) { // Catch Exception as errors in deserialization may not fall under @@ -227,7 +226,7 @@ public static void save() { Path file = DIR_PATH.resolve(FILE_NAME); Path tempFile = file.resolveSibling(file.getFileName() + ".tmp"); - try (FileWriter writer = new FileWriter(tempFile.toFile())) { + try (OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(tempFile.toFile()), StandardCharsets.UTF_8)) { writer.write(GSON.toJson(instance)); } catch (IOException e) { throw new IOException(e);