Jar URL规范

来源:互联网 发布:手机突然4g网络变成2g 编辑:程序博客网 时间:2024/05/10 11:56

jar URL的语法为:

jar:<url>!/{entry}.如:jar:http://www.example.com/ex.jar!/com/demo/Class.class

以下是官方的用法,具体见官方JavaSE API.

A Jar entry
jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class
A Jar file
jar:http://www.foo.com/bar/baz.jar!/
A Jar directory
jar:http://www.foo.com/bar/baz.jar!/COM/foo/
!/ is refered to as the separator.


使用URL存取jar文件的例子

package net.java2000.net;import java.io.IOException;import java.net.JarURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.jar.JarEntry;import java.util.jar.JarFile;/** * 使用URL存取jar文件。 * */public class URLGetJarFile {  public static void main(String[] args) {    try {      // 创建指向jar文件的URL      URL url = new URL("jar:http://hostname/my.jar!/");      // 创建指向文件系统的URL      url = new URL("jar:file:/c:/almanac/my.jar!/");      // 读取jar文件      JarURLConnection conn = (JarURLConnection) url.openConnection();      JarFile jarfile = conn.getJarFile();      // 如果URL没有任何入口,则名字为null      String entryName = conn.getEntryName(); // null      // 创建一个指向jar文件里一个入口的URL      url = new URL("jar:file:/c:/almanac/my.jar!/com/mycompany/MyClass.class");      // 读取jar文件      conn = (JarURLConnection) url.openConnection();      jarfile = conn.getJarFile();      // 此时的入口名字应该和指定的URL相同      entryName = conn.getEntryName();      // 得到jar文件的入口      JarEntry jarEntry = conn.getJarEntry();    } catch (MalformedURLException e) {    } catch (IOException e) {    }  }}
0 0