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