Fix dataloader not getting path correctly

This commit is contained in:
xtaodada 2022-05-20 23:15:24 +08:00 committed by Melledy
parent d59e14e383
commit 0766ec3805

View File

@ -9,7 +9,6 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@ -77,19 +76,18 @@ public final class FileUtils {
}
// From https://mkyong.com/java/java-read-a-file-from-resources-folder/
public static List<Path> getPathsFromResource(String folder) throws URISyntaxException, IOException {
public static List<Path> getPathsFromResource(String folder) throws URISyntaxException {
List<Path> result = null;
// Get path of the current running JAR
String jarPath = Grasscutter.class.getProtectionDomain()
// Get pathUri of the current running JAR
URI pathUri = Grasscutter.class.getProtectionDomain()
.getCodeSource()
.getLocation()
.toURI()
.getPath();
.toURI();
try {
// file walks JAR
URI uri = URI.create("jar:file:" + jarPath);
URI uri = URI.create("jar:file:" + pathUri.getRawPath());
try (FileSystem fs = FileSystems.newFileSystem(uri, Collections.emptyMap())) {
result = Files.walk(fs.getPath(folder))
.filter(Files::isRegularFile)