aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/options/Options.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/Options.java37
1 files changed, 18 insertions, 19 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java b/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
index 1b6cebe3..0aedc306 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
@@ -733,28 +733,27 @@ public class Options {
}
public static Options loadFromFile(Gson gson, File file) throws IOException {
- InputStream in = new FileInputStream(file);
- BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
-
- Options oLoad = gson.fromJson(reader, Options.class);
- Options oDefault = new Options();
- if (oLoad == null) return oDefault;
-
- for (Field f : Options.class.getDeclaredFields()) {
- try {
- if (((Option<?>) f.get(oDefault)).value instanceof List) {
- //If the default size of the list is greater than the loaded size, use the default value.
- //if(((List<?>)((Option)f.get(oDefault)).value).size() > ((List<?>)((Option)f.get(oLoad)).value).size()) {
- // continue;
- //}
- }
- if(((Option<?>) f.get(oDefault)).value.getClass().isAssignableFrom(((Option<?>) f.get(oLoad)).value.getClass())) {
- ((Option) f.get(oDefault)).value = ((Option) f.get(oLoad)).value;
+ try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8))) {
+ Options oLoad = gson.fromJson(reader, Options.class);
+ Options oDefault = new Options();
+ if (oLoad == null) return oDefault;
+
+ for (Field f : Options.class.getDeclaredFields()) {
+ try {
+ if (((Option<?>) f.get(oDefault)).value instanceof List) {
+ //If the default size of the list is greater than the loaded size, use the default value.
+ //if(((List<?>)((Option)f.get(oDefault)).value).size() > ((List<?>)((Option)f.get(oLoad)).value).size()) {
+ // continue;
+ //}
+ }
+ if(((Option<?>) f.get(oDefault)).value.getClass().isAssignableFrom(((Option<?>) f.get(oLoad)).value.getClass())) {
+ ((Option) f.get(oDefault)).value = ((Option) f.get(oLoad)).value;
+ }
+ } catch (Exception e) {
}
- } catch (Exception e) {
}
+ return oDefault;
}
- return oDefault;
}