Класс JarURLConnection
public abstract class JarURLConnection extends URLConnection
Синтаксис URL JAR:
jar:<url>!/{entry}
например:
jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class
URL JAR следует использовать для ссылки на файл JAR или записи в файле JAR. В приведённом выше примере URL JAR ссылается на запись JAR. Если имя записи не указано, URL ссылается на весь файл JAR: jar:http://www.foo.com/bar/baz.jar!/
Если пользователю известно, что созданный им URL является URL JAR и ему нужны специфичные для JAR функции, следует привести общий тип URLConnection к JarURLConnection. Например:
URL url = new URL("jar:file:/home/duke/duke.jar!/");
JarURLConnection jarConnection = (JarURLConnection)url.openConnection();
Manifest manifest = jarConnection.getManifest();
Экземпляры JarURLConnection можно использовать только для чтения файлов JAR. С помощью этого класса нельзя получить OutputStream для изменения или записи в базовый файл JAR.
Примеры:
- Запись JAR
-
jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class - Файл JAR
-
jar:http://www.foo.com/bar/baz.jar!/ - Каталог JAR
-
jar:http://www.foo.com/bar/baz.jar!/COM/foo/
!/ называется разделителем.
При создании URL JAR с помощью new URL(context, spec) применяются следующие правила:
- если контекстный URL отсутствует, а спецификация, переданная конструктору URL, не содержит разделителя, считается, что URL ссылается на JarFile.
- если контекстный URL указан, предполагается, что он ссылается на файл JAR или каталог JAR.
- если спецификация начинается с '/', каталог JAR игнорируется, и считается, что спецификация указывает на корень файла JAR.
Примеры:
- контекст: jar:http://www.foo.com/bar/jar.jar!/, спецификация: baz/entry.txt
- URL: jar:http://www.foo.com/bar/jar.jar!/baz/entry.txt
- контекст: jar:http://www.foo.com/bar/jar.jar!/baz, спецификация: entry.txt
- URL: jar:http://www.foo.com/bar/jar.jar!/baz/entry.txt
- контекст: jar:http://www.foo.com/bar/jar.jar!/baz, спецификация: /entry.txt
- URL: jar:http://www.foo.com/bar/jar.jar!/entry.txt
- Начиная с:
- 1.2
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected URLConnection |
jarFileURLConnection |
Подключение к URL файла JAR, если подключение было инициировано. |
Поля, объявленные в классе URLConnection
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новое подключение JarURLConnection к указанному URL. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Attributes |
getAttributes() |
Возвращает объект Attributes для этого подключения, если URL указывает на запись файла JAR; в противном случае возвращает null. |
Certificate[] |
getCertificates() |
Возвращает объекты Certificate для этого подключения, если URL указывает на запись файла JAR; в противном случае возвращает null. |
String |
getEntryName() |
Возвращает имя записи для этого подключения. |
JarEntry |
getJarEntry() |
Возвращает объект записи JAR для этого подключения, если он есть. |
abstract JarFile |
getJarFile() |
Возвращает файл JAR для этого подключения. |
URL |
getJarFileURL() |
Возвращает URL файла JAR для этого подключения. |
Attributes |
getMainAttributes() |
Возвращает основные атрибуты файла JAR для этого подключения. |
Manifest |
getManifest() |
Возвращает манифест для этого подключения или null, если его нет. |
Методы, объявленные в классе URLConnection
addRequestProperty, connect, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentLengthLong, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, 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, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, setRequestProperty, setUseCaches, toString
Подробное описание полей
jarFileURLConnection
protected URLConnection jarFileURLConnection
Подробное описание конструкторов
JarURLConnection
protected JarURLConnection(URL url) throws MalformedURLException
- Параметры:
-
url— URL - Исключения:
-
MalformedURLException— если в строке спецификации не удалось найти допустимый протокол или строку не удалось разобрать.
Подробное описание методов
getJarFileURL
public URL getJarFileURL()
- Возвращает:
- URL файла JAR для этого подключения.
getEntryName
public String getEntryName()
- Возвращает:
- имя записи для этого подключения, если оно есть.
getJarFile
public abstract JarFile getJarFile() throws IOException
- Возвращает:
- файл JAR для этого подключения. Если подключение ведёт к записи файла JAR, возвращается объект файла JAR
- Исключения:
-
IOException— если при попытке подключиться к файлу JAR для этого подключения возникает IOException. - См. также:
getManifest
public Manifest getManifest() throws IOException
- Возвращает:
- объект манифеста, соответствующий объекту файла JAR для этого подключения.
- Исключения:
-
IOException— если при получении файла JAR для этого подключения возникает IOException. - См. также:
getJarEntry
public JarEntry getJarEntry() throws IOException
- Возвращает:
- объект записи JAR для этого подключения или null, если URL JAR для этого подключения указывает на файл JAR.
- Исключения:
-
IOException— если при получении файла JAR для этого подключения возникает IOException. - См. также:
getAttributes
public Attributes getAttributes() throws IOException
- Возвращает:
- объект Attributes для этого подключения, если URL указывает на запись файла JAR; в противном случае возвращает null.
- Исключения:
-
IOException— если при получении записи JAR возникает IOException. - См. также:
getMainAttributes
public Attributes getMainAttributes() throws IOException
- Возвращает:
- основные атрибуты файла JAR для этого подключения.
- Исключения:
-
IOException— если при получении манифеста возникает IOException. - См. также:
getCertificates
public Certificate[] getCertificates() throws IOException
null. Возвращаемый массив сертификатов содержит все сертификаты подписантов, использованные для проверки этой записи. За каждым сертификатом подписанта следует поддерживающая его цепочка сертификатов (которая может быть пустой). Сертификат каждого подписанта и поддерживающая его цепочка сертификатов упорядочены снизу вверх (то есть сначала идёт сертификат подписанта, а последним — сертификат центра сертификации (корневой)).
- Примечание к API:
- Процесс проверки не включает в себя проверку или установление доверия к подписантам кода. Вызывающему коду следует выполнить дополнительные проверки, например использовать
CertPathValidatorдля проверки цепочки сертификатов каждого подписанта и определения того, следует ли доверять записи, подписанной этими подписантами. - Возвращает:
- объекты Certificate для этого подключения, если URL указывает на запись файла JAR; в противном случае возвращает null.
- Исключения:
-
IOException— если при получении записи JAR возникает IOException. - См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/JarURLConnection.html