Move MINECRAFT_DIRECTORY & HMCL_DIRECTORY to Metadata

This commit is contained in:
yushijinhun
2018-10-20 17:34:14 +08:00
parent 7d6f1f98f1
commit c9466cf8ef
12 changed files with 34 additions and 43 deletions

View File

@@ -43,7 +43,7 @@ public class DefaultCacheRepository extends CacheRepository {
private Index index = null;
public DefaultCacheRepository() {
this(OperatingSystem.getWorkingDirectory("minecraft").toPath());
this(OperatingSystem.getWorkingDirectory("minecraft"));
}
public DefaultCacheRepository(Path commonDirectory) {

View File

@@ -18,9 +18,10 @@
package org.jackhuang.hmcl.util;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Files;
import java.nio.file.Path;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.*;
@@ -38,12 +39,13 @@ public final class Logging {
LOG = Logger.getLogger("HMCL");
}
public static void start(File logFolder) {
public static void start(Path logFolder) {
LOG.setLevel(Level.FINER);
LOG.setUseParentHandlers(false);
try {
FileHandler fileHandler = new FileHandler(new File(logFolder, "hmcl.log").getAbsolutePath());
Files.createDirectories(logFolder);
FileHandler fileHandler = new FileHandler(logFolder.resolve("hmcl.log").toAbsolutePath().toString());
fileHandler.setLevel(Level.FINEST);
fileHandler.setFormatter(DefaultFormatter.INSTANCE);
LOG.addHandler(fileHandler);

View File

@@ -17,9 +17,6 @@
*/
package org.jackhuang.hmcl.util.platform;
import javafx.scene.input.Clipboard;
import javafx.scene.input.ClipboardContent;
import javax.management.JMException;
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -29,6 +26,8 @@ import org.jackhuang.hmcl.util.Lang;
import java.io.File;
import java.lang.management.ManagementFactory;
import java.nio.charset.Charset;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Locale;
import java.util.Optional;
@@ -135,30 +134,24 @@ public enum OperatingSystem {
return Optional.empty();
}
public static void setClipboard(String string) {
ClipboardContent c = new ClipboardContent();
c.putString(string);
Clipboard.getSystemClipboard().setContent(c);
}
public static void forceGC() {
System.gc();
System.runFinalization();
System.gc();
}
public static File getWorkingDirectory(String folder) {
public static Path getWorkingDirectory(String folder) {
String home = System.getProperty("user.home", ".");
switch (OperatingSystem.CURRENT_OS) {
case LINUX:
return new File(home, "." + folder + "/");
return Paths.get(home, "." + folder);
case WINDOWS:
String appdata = System.getenv("APPDATA");
return new File(Lang.nonNull(appdata, home), "." + folder + "/");
return Paths.get(Lang.nonNull(appdata, home), "." + folder);
case OSX:
return new File(home, "Library/Application Support/" + folder);
return Paths.get(home, "Library", "Application Support", folder);
default:
return new File(home, folder + "/");
return Paths.get(home, folder);
}
}
}