java - 如何从 jar : URL containing a "!" and a specific file in the jar? 中获取 jar URL

标签 java file url path jar

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

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

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

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

我已经尝试过使用 File(URI)getPath()getFile() 都是徒劳的。

最佳答案

如果 MS-Windows 不被前导斜杠冒犯的话,这可能会成功:

    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());

关于java - 如何从 jar : URL containing a "!" and a specific file in the jar? 中获取 jar URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/402683/

相关文章:

php - 自动检测链接并将它们放入 <a> 标记中,除非它们已经在 html 标记中

java - int[] arr2 = arr1.clone() 编译时不会将 RHS (Object) 转换为 (int[])。为什么 derivedObj = baseObj 允许不强制转换为 Derived(即 int[])?

file - 为什么 touch 会调用 dup2() 系统调用?

ios - 如何使用 URL 显示图像?

python urllib.parse.urljoin 在以数字和冒号开头的路径上

git - 为什么 Git 引用没有文件扩展名

java - Freemarker 字符串高亮

java - Java的ThreadPoolExecutor如何使用自定义ThreadFactory?

java - Gson反序列化生成NULL值

r 读入多个 .dat 文件