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 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, toString
protected URLConnection jarFileURLConnection
protected JarURLConnection(URL url) throws MalformedURLException
url
- the URLMalformedURLException
- if no legal protocol
could be found in a specification string or the
string could not be parsed.public URL getJarFileURL()
public String getEntryName()
public abstract JarFile getJarFile() throws IOException
IOException
- if an IOException occurs while trying to
connect to the JAR file for this connection.URLConnection.connect()
public Manifest getManifest() throws IOException
IOException
- if getting the JAR file for this
connection causes an IOException to be thrown.getJarFile()
public JarEntry getJarEntry() throws IOException
IOException
- if getting the JAR file for this
connection causes an IOException to be thrown.getJarFile()
,
getJarEntry()
public Attributes getAttributes() throws IOException
IOException
- if getting the JAR entry causes an
IOException to be thrown.getJarEntry()
public Attributes getMainAttributes() 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()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.