如何在另一个jar内的jar中创建一个FileSystem

时间:2015-04-17 19:47:02

标签: java nio

我正在尝试使用NIO FileSystem访问另一个jar中的jar。 调用外部jar my-outer.jar和内部my-inner.jar (使用Java 8和Windows 7,但我认为这不是问题)

我正在使用以下代码

    String zipfilePath = "c:/testfs/my-outer.jar!/my-inner.jar";
    Path path = Paths.get(zipfilePath);
    try(ZipFileSystem zipfs = (ZipFileSystem) FileSystems.newFileSystem(path, null))
    { ...  }

但是在尝试创建newFileSystem时我得到了以下异常:

Exception in thread "main" java.nio.file.FileSystemNotFoundException: C:\testfs\my-outer.jar!\my-inner.jar

请注意,如果我只使用外部jar作为FileSystem,那就完全正常,我可以很好地从中读取和写入文件。只是当我试图进入内部存档时,麻烦就开始了。

文件系统不支持JarURLConnection表示法吗?

0 个答案:

没有答案