如何从jar中获取jar URL:包含“!”的URL jar中的特定文件? [英] How do I get just the jar URL from a jar: URL containing a "!" and a specific file in the jar?

查看:232
本文介绍了如何从jar中获取jar URL:包含“!”的URL jar中的特定文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在运行时得到一个jar文件url:

I get a jar file url at runtime as:

jar:file:///C:/proj/parser/jar/parser.jar!/test.xml

如何将其转换为有效路径:

How can this be converted to a valid path as:

C:/proj/parser/jar/parser.jar.

我已经尝试过使用文件(URI) getPath() getFile()徒劳。

I have already tried using File(URI), getPath(), getFile() in vain.

推荐答案

如果MS-Windows没有被前导斜杠冒犯,可能会这样做:

This might do it, if MS-Windows is not offended by a leading slash:

    final URL jarUrl =
        new URL("jar:file:/C:/proj/parser/jar/parser.jar!/test.xml");
    final JarURLConnection connection =
        (JarURLConnection) jarUrl.openConnection();
    final URL url = connection.getJarFileURL();

    System.out.println(url.getFile());

这篇关于如何从jar中获取jar URL:包含“!”的URL jar中的特定文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆