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 ...
Get Java Network Programming, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.