diff options
author | Decebal Suiu <decebal.suiu@gmail.com> | 2018-07-09 20:11:13 +0300 |
---|---|---|
committer | Decebal Suiu <decebal.suiu@gmail.com> | 2018-07-09 20:11:13 +0300 |
commit | bb88abaea256dd0bb16513645cae734e77a6859b (patch) | |
tree | 90d141c8de81c8244ce0d2729e5022a1f326ddd8 /pf4j | |
parent | 5587adb63ae7a51397196f28d3a97d579b04542a (diff) | |
download | pf4j-bb88abaea256dd0bb16513645cae734e77a6859b.tar.gz pf4j-bb88abaea256dd0bb16513645cae734e77a6859b.zip |
Prevent FileSystemAlreadyExistsException (#229)
Diffstat (limited to 'pf4j')
-rw-r--r-- | pf4j/src/main/java/org/pf4j/util/FileUtils.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/pf4j/src/main/java/org/pf4j/util/FileUtils.java b/pf4j/src/main/java/org/pf4j/util/FileUtils.java index 38fd309..a05367c 100644 --- a/pf4j/src/main/java/org/pf4j/util/FileUtils.java +++ b/pf4j/src/main/java/org/pf4j/util/FileUtils.java @@ -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()); + } + } |