public abstract class AbstractJarURLConnection 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.classjar: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 | jarFileURLConnectionThe connection to the JAR file URL, if the connection has been initiated. |
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches| Modifier | Constructor and Description |
|---|---|
protected | AbstractJarURLConnection(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 IJarFile | 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 URLConnection jarFileURLConnection
protected AbstractJarURLConnection(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 final URL getJarFileURL()
public final String getEntryName()
public abstract IJarFile getJarFile() throws IOException
IOException - if an IOException occurs while trying to connect to the JAR file for this connection.URLConnection.connect()public final Manifest getManifest() throws IOException
IOException - if getting the JAR file for this connection causes an IOException to be thrown.getJarFile()public final JarEntry getJarEntry() throws IOException
IOException - if getting the JAR file for this connection causes an IOException to be thrown.getJarFile(), getJarEntry()public final Attributes getAttributes() throws IOException
IOException - if getting the JAR entry causes an IOException to be thrown.getJarEntry()public final Attributes getMainAttributes() throws IOException
IOException - if getting the manifest causes an IOException to be thrown.getJarFile(), getManifest()public final Certificate[] getCertificates() throws IOException
nullIOException - if getting the JAR entry causes an IOException to be thrown.getJarEntry()Phantom® and NetPhantom® are registered trademarks of Mindus SARL.
© 2026 Mindus SARL. All rights reserved.