java—给定磁盘上jar文件的路径,它的uri定义为什么jar:file:? 这是我必须自己做的事吗?

332nm8kg  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(358)

我在磁盘上有一个jar文件,我想作为 JarURLConnection . 问题是当我打开它作为 File 它是uri类型 file: .

System.out.println(new java.io.File("test.jar").toURI().toURL());

输出:

file:/C:/path/test.jar

如果我只有一个指向磁盘上文件的字符串路径,我是否需要自己识别uri类型,或者在处理过程中是否有方法派生它?
我计划测试它是否是这样的jar文件:

URLConnection urlc = new java.io.File(jarPath).toURI().toURL().openConnection();

if (!(urlc instanceof JarURLConnection))
   throw new IOException("File type is not a jar");

但uri不是 jar:file: 在这一点上。
如何设置文件的uri类型?当打开到jar文件的连接时,这是正确的过程吗?

ckx4rj1h

ckx4rj1h1#

来自javadoc的 JarURLConnection :

URL url = new URL("jar:file:/home/duke/duke.jar!/");
 JarURLConnection jarConnection = (JarURLConnection)url.openConnection();

相关问题