java—获取jar/war中资源的路径

bxfogqkk  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(218)

我正在尝试使用nio2访问'current'jar中的一个文件。”“mytext.txt”位于资源文件夹的根目录下。代码:

URI uri = myClass.getResource("/myText.txt").toURI();

        if("jar".equals(uri.getScheme())) {
            try {
                FileSystems.getFileSystem(uri);
            } catch (FileSystemNotFoundException e) {
                Map<String, String> env = new HashMap<>();
                env.put("create", "true");
                FileSystems.newFileSystem(uri, env);
            }
        }

        return Paths.get(uri);

这让我在战争中遇到了一个例外: java.nio.file.NoSuchFileException: WEB-INF/classes!/myText.txt 经过仔细检查,原来 uri 上面代码段中的变量被赋值 jar:file:/C:/app/app-1.1-SNAPSHOT.war!/WEB-INF/classes!/myText.txt . 当我找到第二个 ! 在那里我有点好奇,我试着分配harcodeduri jar:file:/C:/app/app-1.1-SNAPSHOT.war!/WEB-INF/classes/myText.txt (秒) ! 删除)这实际上起了作用。但这当然不是一个结构性的解决方案。
我使用的是openjdkversion1.8.0\u265。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题