]> source.dussan.org Git - pf4j.git/commitdiff
Prevent FileSystemAlreadyExistsException (#229)
authorDecebal Suiu <decebal.suiu@gmail.com>
Mon, 9 Jul 2018 17:11:13 +0000 (20:11 +0300)
committerDecebal Suiu <decebal.suiu@gmail.com>
Mon, 9 Jul 2018 17:11:13 +0000 (20:11 +0300)
pf4j/src/main/java/org/pf4j/util/FileUtils.java

index 38fd30942c5b18d21f293c8498e98e1e94184d67..a05367c89d9c919f582accc68aef1a70faf2a9ab 100644 (file)
@@ -228,9 +228,9 @@ public class FileUtils {
     }
 
     public static Path getPath(URI uri, String first, String... more) throws IOException {
-        FileSystem fileSystem = FileSystems.newFileSystem(uri, Collections.<String, String>emptyMap());
-
-        return fileSystem.getPath(first, more);
+        try (FileSystem fileSystem = getFileSystem(uri)) {
+            return fileSystem.getPath(first, more);
+        }
     }
 
     public static Path findFile(Path directoryPath, String fileName) {
@@ -253,4 +253,13 @@ public class FileUtils {
         return null;
     }
 
+    private static FileSystem getFileSystem(URI uri) throws IOException {
+        FileSystem fileSystem = FileSystems.getFileSystem(uri);
+        if (fileSystem != null) {
+            return fileSystem;
+        }
+
+        return FileSystems.newFileSystem(uri, Collections.<String, String>emptyMap());
+    }
+
 }