JarURLConnection
Applets often store their
.class files in a JAR archive. This bundles all
the classes in one package that still maintains the directory
hierarchy needed to resolve fully qualified class names like
com.macfaq.net.QueryString. Furthermore, since the
entire archive is compressed and can be downloaded in a single HTTP
connection, it requires much less time to download the
.jar file than to download its contents one file
at a time. Some programs store needed resources such as sounds,
images, and even text files inside these JAR archives. Java provides
several mechanisms for getting the resources out of the JAR archive,
but the one that we’ll address here is the jar URL. Java 1.2 introduces a new class that
allows you to use URLs that point inside JAR archives,
JarURLConnection:
public abstract class JarURLConnection extends URLConnection // Java 1.2
A jar URL starts with a normal
URL that points to a JAR archive like http://metalab.unc.edu/javafaq/network.jar or
file:///D%7C/javafaq/network.jar.
Then the protocol jar: is
prefixed to this URL. Finally, !/
and the path to the desired file inside the JAR archive are suffixed
to the original URL. For example, to find the file
com/macfaq/net/QueryString.class inside the
previous .jar files, you’d use the URLs
jar:http://metalab.unc.edu/javafaq/network.jar!/com/macfaq/net/QueryString.class
or jar:file:///D%7C/javafaq/network.jar!/com/macfaq/net/QueryString.class.
Of course, this isn’t limited simply to Java
.class files. You ...