Skip to content

Commit 4650287

Browse files
authored
简化 FileUtils (#4119)
1 parent 43b7699 commit 4650287

40 files changed

+76
-136
lines changed

HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ public void duplicateVersion(String srcId, String dstId, boolean copySaves) thro
170170
}
171171
Files.copy(fromJson, toJson);
172172

173-
FileUtils.writeText(toJson.toFile(), JsonUtils.GSON.toJson(fromVersion.setId(dstId)));
173+
FileUtils.writeText(toJson, JsonUtils.GSON.toJson(fromVersion.setId(dstId)));
174174

175175
VersionSetting oldVersionSetting = getVersionSetting(srcId).clone();
176176
GameDirectoryType originalGameDirType = oldVersionSetting.getGameDirType();
@@ -194,7 +194,7 @@ private void loadLocalVersionSetting(String id) {
194194
File file = getLocalVersionSettingFile(id);
195195
if (file.exists())
196196
try {
197-
VersionSetting versionSetting = GSON.fromJson(FileUtils.readText(file), VersionSetting.class);
197+
VersionSetting versionSetting = GSON.fromJson(Files.readString(file.toPath()), VersionSetting.class);
198198
initLocalVersionSetting(id, versionSetting);
199199
} catch (Exception ex) {
200200
// If [JsonParseException], [IOException] or [NullPointerException] happens, the json file is malformed and needed to be recreated.
@@ -427,7 +427,7 @@ public LaunchOptions getLaunchOptions(String version, JavaRuntime javaVersion, F
427427
File json = getModpackConfiguration(version);
428428
if (json.exists()) {
429429
try {
430-
String jsonText = FileUtils.readText(json);
430+
String jsonText = Files.readString(json.toPath());
431431
ModpackConfiguration<?> modpackConfiguration = JsonUtils.GSON.fromJson(jsonText, ModpackConfiguration.class);
432432
ModpackProvider provider = ModpackHelper.getProviderByType(modpackConfiguration.getType());
433433
if (provider != null) provider.injectLaunchOptions(jsonText, builder);

HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackInstallTask.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
import org.jackhuang.hmcl.task.Task;
2929
import org.jackhuang.hmcl.util.gson.JsonUtils;
3030
import org.jackhuang.hmcl.util.io.CompressingUtils;
31-
import org.jackhuang.hmcl.util.io.FileUtils;
3231

3332
import java.io.File;
3433
import java.io.IOException;
34+
import java.nio.file.Files;
3535
import java.util.ArrayList;
3636
import java.util.Collections;
3737
import java.util.List;
@@ -66,7 +66,7 @@ public HMCLModpackInstallTask(Profile profile, File zipFile, Modpack modpack, St
6666
ModpackConfiguration<Modpack> config = null;
6767
try {
6868
if (json.exists()) {
69-
config = JsonUtils.GSON.fromJson(FileUtils.readText(json), ModpackConfiguration.typeOf(Modpack.class));
69+
config = JsonUtils.GSON.fromJson(Files.readString(json.toPath()), ModpackConfiguration.typeOf(Modpack.class));
7070

7171
if (!HMCLModpackProvider.INSTANCE.getName().equals(config.getType()))
7272
throw new IllegalArgumentException("Version " + name + " is not a HMCL modpack. Cannot update this version.");

HMCL/src/main/java/org/jackhuang/hmcl/game/ModpackHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public static ModpackConfiguration<?> readModpackConfiguration(File file) throws
140140
throw new FileNotFoundException(file.getPath());
141141
else
142142
try {
143-
return JsonUtils.GSON.fromJson(FileUtils.readText(file), ModpackConfiguration.class);
143+
return JsonUtils.GSON.fromJson(Files.readString(file.toPath()), ModpackConfiguration.class);
144144
} catch (JsonParseException e) {
145145
throw new IOException("Malformed modpack configuration");
146146
}

HMCL/src/main/java/org/jackhuang/hmcl/setting/AuthlibInjectorServers.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.jackhuang.hmcl.util.gson.JsonUtils;
2525
import org.jackhuang.hmcl.util.gson.TolerableValidationException;
2626
import org.jackhuang.hmcl.util.gson.Validation;
27-
import org.jackhuang.hmcl.util.io.FileUtils;
2827
import org.jackhuang.hmcl.util.io.JarUtils;
2928

3029
import java.io.IOException;
@@ -73,7 +72,7 @@ public static void init() {
7372
if (ConfigHolder.isNewlyCreated() && Files.exists(configLocation)) {
7473
AuthlibInjectorServers configInstance;
7574
try {
76-
String content = FileUtils.readText(configLocation);
75+
String content = Files.readString(configLocation);
7776
configInstance = JsonUtils.GSON.fromJson(content, AuthlibInjectorServers.class);
7877
} catch (IOException | JsonParseException e) {
7978
LOG.warning("Malformed authlib-injectors.json", e);

HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigHolder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ private static Config loadConfig() throws IOException {
158158
LOG.warning("Failed to get owner");
159159
}
160160
try {
161-
String content = FileUtils.readText(configLocation);
161+
String content = Files.readString(configLocation);
162162
Config deserialized = Config.fromJson(content);
163163
if (deserialized == null) {
164164
LOG.info("Config is empty");
@@ -180,7 +180,7 @@ private static Config loadConfig() throws IOException {
180180
private static GlobalConfig loadGlobalConfig() throws IOException {
181181
if (Files.exists(GLOBAL_CONFIG_PATH)) {
182182
try {
183-
String content = FileUtils.readText(GLOBAL_CONFIG_PATH);
183+
String content = Files.readString(GLOBAL_CONFIG_PATH);
184184
GlobalConfig deserialized = GlobalConfig.fromJson(content);
185185
if (deserialized == null) {
186186
LOG.info("Config is empty");

HMCL/src/main/java/org/jackhuang/hmcl/setting/StyleSheets.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import javafx.scene.Scene;
2424
import javafx.scene.paint.Color;
2525
import org.jackhuang.hmcl.ui.FXUtils;
26-
import org.jackhuang.hmcl.util.io.FileUtils;
2726

2827
import java.io.IOException;
2928
import java.nio.charset.Charset;
@@ -68,7 +67,7 @@ private static String toStyleSheetUri(String styleSheet, String fallback) {
6867
Path temp = Files.createTempFile("hmcl", ".css");
6968
// For JavaFX 17 or earlier, CssParser uses the default charset
7069
// https://bugs.openjdk.org/browse/JDK-8279328
71-
FileUtils.writeText(temp, styleSheet, Charset.defaultCharset());
70+
Files.writeString(temp, styleSheet, Charset.defaultCharset());
7271
temp.toFile().deleteOnExit();
7372
return temp.toUri().toString();
7473
} catch (IOException | NullPointerException e) {

HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateHandler.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import org.jackhuang.hmcl.util.StringUtils;
3333
import org.jackhuang.hmcl.util.SwingUtils;
3434
import org.jackhuang.hmcl.util.TaskCancellationAction;
35-
import org.jackhuang.hmcl.util.io.FileUtils;
3635
import org.jackhuang.hmcl.util.io.JarUtils;
3736
import org.jackhuang.hmcl.java.JavaRuntime;
3837
import org.jackhuang.hmcl.util.platform.OperatingSystem;
@@ -265,7 +264,7 @@ private static void breakForceUpdateFeature() {
265264
Path hmclVersionJson = Metadata.HMCL_GLOBAL_DIRECTORY.resolve("hmclver.json");
266265
if (Files.isRegularFile(hmclVersionJson)) {
267266
try {
268-
Map<?, ?> content = new Gson().fromJson(FileUtils.readText(hmclVersionJson), Map.class);
267+
Map<?, ?> content = new Gson().fromJson(Files.readString(hmclVersionJson), Map.class);
269268
Object ver = content.get("ver");
270269
if (ver instanceof String && ((String) ver).startsWith("3.")) {
271270
Files.delete(hmclVersionJson);

HMCL/src/test/java/org/jackhuang/hmcl/ui/GameCrashWindowTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@
2323
import org.jackhuang.hmcl.java.JavaInfo;
2424
import org.jackhuang.hmcl.game.Log;
2525
import org.jackhuang.hmcl.launch.ProcessListener;
26-
import org.jackhuang.hmcl.util.io.FileUtils;
2726
import org.jackhuang.hmcl.java.JavaRuntime;
2827
import org.jackhuang.hmcl.util.platform.ManagedProcess;
2928
import org.jackhuang.hmcl.util.platform.Platform;
3029
import org.junit.jupiter.api.Disabled;
3130
import org.junit.jupiter.api.Test;
3231

3332
import java.io.File;
33+
import java.nio.file.Files;
3434
import java.nio.file.Paths;
3535
import java.util.Arrays;
3636
import java.util.concurrent.CountDownLatch;
@@ -45,7 +45,7 @@ public void test() throws Exception {
4545

4646
ManagedProcess process = new ManagedProcess(null, Arrays.asList("commands", "2"));
4747

48-
String logs = FileUtils.readText(new File("../HMCLCore/src/test/resources/logs/too_old_java.txt"));
48+
String logs = Files.readString(new File("../HMCLCore/src/test/resources/logs/too_old_java.txt").toPath());
4949

5050
CountDownLatch latch = new CountDownLatch(1);
5151
FXUtils.runInFX(() -> {

HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultCacheRepository.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,9 @@ public void changeDirectory(Path commonDir) {
6363

6464
lock.writeLock().lock();
6565
try {
66-
if (Files.isRegularFile(indexFile))
67-
index = JsonUtils.fromNonNullJson(FileUtils.readText(indexFile), Index.class);
66+
if (Files.isRegularFile(indexFile)) {
67+
index = JsonUtils.fromNonNullJson(Files.readString(indexFile), Index.class);
68+
}
6869
else
6970
index = new Index();
7071
} catch (IOException | JsonParseException e) {

HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeInstallTask.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import org.jackhuang.hmcl.task.Task;
2424
import org.jackhuang.hmcl.util.gson.JsonUtils;
2525
import org.jackhuang.hmcl.util.io.CompressingUtils;
26-
import org.jackhuang.hmcl.util.io.FileUtils;
2726
import org.jackhuang.hmcl.util.versioning.GameVersionNumber;
2827

2928
import java.io.IOException;
@@ -126,7 +125,7 @@ public static boolean detectForgeInstallerType(DependencyManager dependencyManag
126125
Optional<String> gameVersion = dependencyManager.getGameRepository().getGameVersion(version);
127126
if (!gameVersion.isPresent()) throw new IOException();
128127
try (FileSystem fs = CompressingUtils.createReadOnlyZipFileSystem(installer)) {
129-
String installProfileText = FileUtils.readText(fs.getPath("install_profile.json"));
128+
String installProfileText = Files.readString(fs.getPath("install_profile.json"));
130129
Map<?, ?> installProfile = JsonUtils.fromNonNullJson(installProfileText, Map.class);
131130
if (installProfile.containsKey("spec")) {
132131
ForgeNewInstallProfile profile = JsonUtils.fromNonNullJson(installProfileText, ForgeNewInstallProfile.class);
@@ -159,7 +158,7 @@ public static Task<Version> install(DefaultDependencyManager dependencyManager,
159158
Optional<String> gameVersion = dependencyManager.getGameRepository().getGameVersion(version);
160159
if (!gameVersion.isPresent()) throw new IOException();
161160
try (FileSystem fs = CompressingUtils.createReadOnlyZipFileSystem(installer)) {
162-
String installProfileText = FileUtils.readText(fs.getPath("install_profile.json"));
161+
String installProfileText = Files.readString(fs.getPath("install_profile.json"));
163162
Map<?, ?> installProfile = JsonUtils.fromNonNullJson(installProfileText, Map.class);
164163
if (installProfile.containsKey("spec")) {
165164
ForgeNewInstallProfile profile = JsonUtils.fromNonNullJson(installProfileText, ForgeNewInstallProfile.class);

0 commit comments

Comments
 (0)