public abstract class JarURLConnection extends URLConnection
The syntax of a JAR URL is:
jar:<url>!/{entry}
for example:
jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class
Jar URLs should be used to refer to a JAR file or entries in a JAR file. The example above is a JAR URL which refers to a JAR entry. If the entry name is omitted, the URL refers to the whole JAR file: jar:http://www.foo.com/bar/baz.jar!/
Users should cast the generic URLConnection to a JarURLConnection when they know that the URL they created is a JAR URL, and they need JAR-specific functionality. For example:
URL url = new URL("jar:file:/home/duke/duke.jar!/");
JarURLConnection jarConnection = (JarURLConnection)url.openConnection();
Manifest manifest = jarConnection.getManifest();
JarURLConnection instances can only be used to read from JAR files. It is not possible to get a OutputStream to modify or write to the underlying JAR file using this class.
Examples:
jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class
jar:http://www.foo.com/bar/baz.jar!/
jar:http://www.foo.com/bar/baz.jar!/COM/foo/
!/ is referred to as the separator.
When constructing a JAR url via new URL(context, spec), the following rules apply:
Examples:
URL,
URLConnection,
JarFile,
JarInputStream,
Manifest,
ZipEntry
| Modifier and Type | Field and Description |
|---|---|
protected URLConnection |
jarFileURLConnection
The connection to the JAR file URL, if the connection has been initiated.
|
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches| Modifier | Constructor and Description |
|---|---|
protected |
JarURLConnection(URL
Creates the new JarURLConnection to the specified URL.
|
| Modifier and Type | Method and Description |
|---|---|
Attributes |
getAttributes()
Return the Attributes object for this connection if the URL for it points to a JAR file entry, null otherwise.
|
Certificate |
getCertificates()
Return the Certificate object for this connection if the URL for it points to a JAR file entry, null otherwise.
|
String |
getEntryName()
Return the entry name for this connection.
|
JarEntry |
getJarEntry()
Return the JAR entry object for this connection, if any.
|
abstract JarFile |
getJarFile()
Return the JAR file for this connection.
|
URL |
getJarFileURL()
Returns the URL for the Jar file for this connection.
|
Attributes |
getMainAttributes()
Returns the main Attributes for the JAR file for this connection.
|
Manifest |
getManifest()
Returns the Manifest for this connection, or null if none.
|
addRequestProperty, connect, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentLengthLong, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderField, getHeaderFieldDate, getHeaderFieldInt, getHeaderFieldKey, getHeaderFieldLong, getHeaderFields, getIfModifiedSince, getInputStream, getLastModified, getOutputStream, getPermission, getReadTimeout, getRequestProperties, getRequestProperty, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setConnectTimeout, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, setRequestProperty, setUseCaches, toStringprotected URLConnectionjarFileURLConnection
protected JarURLConnection(URLurl) throws MalformedURLException
url - the URL
MalformedURLException - if no legal protocol could be found in a specification string or the string could not be parsed.
public URLgetJarFileURL()
public StringgetEntryName()
public abstract JarFilegetJarFile() throws IOException
IOException - if an IOException occurs while trying to connect to the JAR file for this connection.
URLConnection.connect()
public ManifestgetManifest() throws IOException
IOException - if getting the JAR file for this connection causes an IOException to be thrown.
getJarFile()
public JarEntrygetJarEntry() throws IOException
IOException - if getting the JAR file for this connection causes an IOException to be thrown.
getJarFile(),
getJarEntry()
public AttributesgetAttributes() throws IOException
IOException - if getting the JAR entry causes an IOException to be thrown.
getJarEntry()
public AttributesgetMainAttributes() throws IOException
IOException - if getting the manifest causes an IOException to be thrown.
getJarFile(),
getManifest()
public Certificate[] getCertificates() throws IOException
null
IOException - if getting the JAR entry causes an IOException to be thrown.
getJarEntry()