From 445414bd4117036c31f73d8eab368466bca71cc0 Mon Sep 17 00:00:00 2001 From: burgerguy Date: Sat, 3 Apr 2021 12:44:42 -0400 Subject: [PATCH] Switch creation of ZipFileSystem to use a path instead of a URI Should fix #896 --- src/main/java/amidst/clazz/real/RealClasses.java | 2 +- src/main/java/amidst/parsing/URIUtils.java | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/amidst/clazz/real/RealClasses.java b/src/main/java/amidst/clazz/real/RealClasses.java index 58000d470..b57f1e254 100644 --- a/src/main/java/amidst/clazz/real/RealClasses.java +++ b/src/main/java/amidst/clazz/real/RealClasses.java @@ -31,7 +31,7 @@ private static List readRealClassesFromJarFile(Path jarFile) throw new FileNotFoundException("Attempted to load jar file at: " + jarFile + " but it does not exist."); } - try (FileSystem jarContents = URIUtils.openZipFile(jarFile.toUri())){ + try (FileSystem jarContents = URIUtils.openZipFile(jarFile)){ return readJarFile(jarContents); } catch (IOException | RealClassCreationException | URISyntaxException e) { throw new JarFileParsingException("Error extracting jar data.", e); diff --git a/src/main/java/amidst/parsing/URIUtils.java b/src/main/java/amidst/parsing/URIUtils.java index 458264397..61b0e69c6 100644 --- a/src/main/java/amidst/parsing/URIUtils.java +++ b/src/main/java/amidst/parsing/URIUtils.java @@ -11,7 +11,7 @@ import java.net.URL; import java.nio.file.FileSystem; import java.nio.file.FileSystems; -import java.util.HashMap; +import java.nio.file.Path; import amidst.documentation.Immutable; @@ -55,8 +55,7 @@ public static byte[] readBytes(URL url) throws IOException { return bytes.toByteArray(); } - public static FileSystem openZipFile(URI uri) throws URISyntaxException, IOException { - URI zipUri = new URI("jar:" + uri.getScheme(), uri.getPath(), null); - return FileSystems.newFileSystem(zipUri, new HashMap<>()); + public static FileSystem openZipFile(Path path) throws URISyntaxException, IOException { + return FileSystems.newFileSystem(path, null); } }