From 933bb3395bdf0249737a9cc891dbaf822830732c Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Thu, 23 Mar 2017 19:50:33 +0100 Subject: [PATCH] Fixed wrong encoding of settings.json, Fixed export --- .classpath | 2 +- src/de/deadlocker8/budgetmaster/logic/Budget.java | 6 ++++++ src/de/deadlocker8/budgetmaster/logic/Utils.java | 13 +++++++++---- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.classpath b/.classpath index ec96f8d09..d67069e90 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry including="**/*.java" kind="src" output="target/classes" path="src"> + <classpathentry kind="src" output="target/classes" path="src"> <attributes> <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> diff --git a/src/de/deadlocker8/budgetmaster/logic/Budget.java b/src/de/deadlocker8/budgetmaster/logic/Budget.java index b589142dc..a7aef0079 100644 --- a/src/de/deadlocker8/budgetmaster/logic/Budget.java +++ b/src/de/deadlocker8/budgetmaster/logic/Budget.java @@ -37,4 +37,10 @@ public class Budget { return paymentSum; } + + @Override + public String toString() + { + return "Budget [incomeSum=" + incomeSum + ", paymentSum=" + paymentSum + "]"; + } } \ No newline at end of file diff --git a/src/de/deadlocker8/budgetmaster/logic/Utils.java b/src/de/deadlocker8/budgetmaster/logic/Utils.java index bb8fefa74..55789dca5 100644 --- a/src/de/deadlocker8/budgetmaster/logic/Utils.java +++ b/src/de/deadlocker8/budgetmaster/logic/Utils.java @@ -2,6 +2,9 @@ package de.deadlocker8.budgetmaster.logic; import java.io.File; import java.io.IOException; +import java.io.Reader; +import java.io.Writer; +import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Locale; @@ -17,14 +20,14 @@ public class Utils public static Settings loadSettings() { - String settingsJSON; Settings settings; try { Gson gson = new Gson(); PathUtils.checkFolder(new File(PathUtils.getOSindependentPath() + bundle.getString("folder"))); - settingsJSON = new String(Files.readAllBytes(Paths.get(PathUtils.getOSindependentPath() + bundle.getString("folder") + "/settings.json"))); - settings = gson.fromJson(settingsJSON, Settings.class); + Reader reader = Files.newBufferedReader(Paths.get(PathUtils.getOSindependentPath() + bundle.getString("folder") + "/settings.json"), Charset.forName("UTF-8")); + settings = gson.fromJson(reader, Settings.class); + reader.close(); return settings; } catch(IOException e) @@ -38,6 +41,8 @@ public class Utils Gson gson = new Gson(); String jsonString = gson.toJson(settings); - Files.write(Paths.get(PathUtils.getOSindependentPath() + bundle.getString("folder") + "/settings.json"), jsonString.getBytes()); + Writer writer = Files.newBufferedWriter(Paths.get(PathUtils.getOSindependentPath() + bundle.getString("folder") + "/settings.json"), Charset.forName("UTF-8")); + writer.write(jsonString); + writer.close(); } } \ No newline at end of file -- GitLab