mirror of
https://github.com/GravitLauncher/Launcher
synced 2024-12-23 00:51:01 +03:00
[FIX] Перенос папок в IOHelper.
This commit is contained in:
parent
6077a51fd4
commit
72232e4cc7
2 changed files with 38 additions and 5 deletions
|
@ -52,9 +52,9 @@ public static void move(Path newDir) throws IOException {
|
||||||
LogHelper.dev(LogHelper.toString(new Throwable("Check stack of call DirBridge with null path...")));
|
LogHelper.dev(LogHelper.toString(new Throwable("Check stack of call DirBridge with null path...")));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
dirUpdates = newDir;
|
||||||
LogHelper.dev(newDir.toString());
|
LogHelper.dev(newDir.toString());
|
||||||
IOHelper.move(dirUpdates, newDir);
|
IOHelper.move(dirUpdates, newDir);
|
||||||
dirUpdates = newDir;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Path getAppDataDir() throws IOException {
|
public static Path getAppDataDir() throws IOException {
|
||||||
|
@ -74,6 +74,10 @@ public static Path getAppDataDir() throws IOException {
|
||||||
return local;
|
return local;
|
||||||
}
|
}
|
||||||
} else if (JVMHelper.OS_TYPE == JVMHelper.OS.MUSTDIE) {
|
} else if (JVMHelper.OS_TYPE == JVMHelper.OS.MUSTDIE) {
|
||||||
|
if (System.getenv().containsKey("appdata"))
|
||||||
|
return Paths.get(System.getenv().get("appdata")).toAbsolutePath();
|
||||||
|
if (System.getenv().containsKey("APPDATA")) // Because it is windows
|
||||||
|
return Paths.get(System.getenv().get("APPDATA")).toAbsolutePath();
|
||||||
Path appdata = IOHelper.HOME_DIR.resolve("AppData").resolve("Roaming");
|
Path appdata = IOHelper.HOME_DIR.resolve("AppData").resolve("Roaming");
|
||||||
if (!IOHelper.isDir(appdata)) Files.createDirectories(appdata);
|
if (!IOHelper.isDir(appdata)) Files.createDirectories(appdata);
|
||||||
return appdata;
|
return appdata;
|
||||||
|
|
|
@ -41,9 +41,7 @@ public final class IOHelper {
|
||||||
public static final String PLATFORM_SEPARATOR = FS.getSeparator();
|
public static final String PLATFORM_SEPARATOR = FS.getSeparator();
|
||||||
public static final boolean POSIX = FS.supportedFileAttributeViews().contains("posix") || FS.supportedFileAttributeViews().contains("Posix");
|
public static final boolean POSIX = FS.supportedFileAttributeViews().contains("posix") || FS.supportedFileAttributeViews().contains("Posix");
|
||||||
public static final Path JVM_DIR = Paths.get(System.getProperty("java.home"));
|
public static final Path JVM_DIR = Paths.get(System.getProperty("java.home"));
|
||||||
// Увидел исключение на NetBSD beta добавил
|
|
||||||
public static final Path HOME_DIR = Paths.get(System.getProperty("user.home"));
|
public static final Path HOME_DIR = Paths.get(System.getProperty("user.home"));
|
||||||
// Paths
|
|
||||||
public static final Path WORKING_DIR = Paths.get(System.getProperty("user.dir"));
|
public static final Path WORKING_DIR = Paths.get(System.getProperty("user.dir"));
|
||||||
public static final String USER_AGENT = System.getProperty("launcher.userAgentDefault", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
|
public static final String USER_AGENT = System.getProperty("launcher.userAgentDefault", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
|
||||||
// Open options - as arrays
|
// Open options - as arrays
|
||||||
|
@ -188,8 +186,39 @@ public static boolean isValidTextureBounds(int width, int height, boolean cloak)
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void move(Path source, Path target) throws IOException {
|
public static void move(Path source, Path target) throws IOException {
|
||||||
createParentDirs(target);
|
IOHelper.walk(source, new MoveFileVisitor(source, target), true);
|
||||||
Files.move(source, target, COPY_OPTIONS);
|
}
|
||||||
|
|
||||||
|
private static class MoveFileVisitor implements FileVisitor<Path> {
|
||||||
|
private final Path from, to;
|
||||||
|
|
||||||
|
private MoveFileVisitor(Path from, Path to) {
|
||||||
|
this.from = from;
|
||||||
|
this.to = to;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
|
||||||
|
if (!IOHelper.isDir(dir)) Files.createDirectories(dir);
|
||||||
|
return FileVisitResult.CONTINUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
|
||||||
|
IOHelper.move(file, to.resolve(from.relativize(file)));
|
||||||
|
return FileVisitResult.CONTINUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
|
||||||
|
throw exc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
|
||||||
|
Files.delete(dir);
|
||||||
|
return FileVisitResult.CONTINUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static byte[] newBuffer() {
|
public static byte[] newBuffer() {
|
||||||
|
|
Loading…
Reference in a new issue