Класс 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 boolean |
allowUserInteraction |
Если true, этот URL рассматривается в контексте, в котором допустимо взаимодействие с пользователем, например отображение диалогового окна аутентификации. |
protected boolean |
connected |
Если false, этот объект подключения еще не создал канал связи с указанным URL. |
protected boolean |
doInput |
Эта переменная устанавливается методом setDoInput. |
protected boolean |
doOutput |
Эта переменная устанавливается методом setDoOutput. |
protected long |
ifModifiedSince |
Некоторые протоколы поддерживают пропуск загрузки объекта, если объект не изменялся после определенного момента времени. |
protected URL |
url |
URL представляет удаленный объект во Всемирной паутине, к которому устанавливается это подключение. |
protected boolean |
useCaches |
Если true, протоколу разрешено использовать кэширование при любой возможности. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
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 | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addRequestProperty |
Добавляет общее свойство запроса, заданное парой «ключ-значение». |
abstract void |
connect() |
Открывает канал связи с ресурсом, на который ссылается этот URL, если такое подключение еще не установлено. |
boolean |
getAllowUserInteraction() |
Возвращает значение поля allowUserInteraction этого объекта. |
int |
getConnectTimeout() |
Возвращает заданное время ожидания подключения. |
Object |
getContent() |
Получает содержимое этого подключения URL. |
Object |
getContent |
Получает содержимое этого подключения URL. |
String |
getContentEncoding() |
Возвращает значение поля заголовка content-encoding. |
int |
getContentLength() |
Возвращает значение поля заголовка content-length. |
long |
getContentLengthLong() |
Возвращает значение поля заголовка content-length в виде числа типа long. |
String |
getContentType() |
Возвращает значение поля заголовка content-type. |
long |
getDate() |
Возвращает значение поля заголовка date. |
static boolean |
getDefaultAllowUserInteraction() |
Возвращает значение поля allowUserInteraction по умолчанию. |
static String |
getDefaultRequestProperty |
Устарело. Следует использовать метод getRequestProperty конкретного экземпляра после получения соответствующего экземпляра URLConnection. |
boolean |
getDefaultUseCaches() |
Возвращает значение флага useCaches для URLConnection по умолчанию. |
static boolean |
getDefaultUseCaches |
Возвращает значение флага useCaches по умолчанию для указанного протокола. |
boolean |
getDoInput() |
Возвращает значение флага doInput этого URLConnection. |
boolean |
getDoOutput() |
Возвращает значение флага doOutput этого URLConnection. |
long |
getExpiration() |
Возвращает значение поля заголовка expires. |
static FileNameMap |
getFileNameMap() |
Загружает таблицу имен файлов (таблицу MIME-типов) из файла данных. |
String |
getHeaderField |
Возвращает значение поля заголовка с индексом n. |
String |
getHeaderField |
Возвращает значение поля заголовка с указанным именем. |
long |
getHeaderFieldDate |
Возвращает значение поля с указанным именем, преобразованное в дату. |
int |
getHeaderFieldInt |
Возвращает значение поля с указанным именем, преобразованное в число. |
String |
getHeaderFieldKey |
Возвращает ключ поля заголовка с индексом n. |
long |
getHeaderFieldLong |
Возвращает значение поля с указанным именем, преобразованное в число. |
Map |
getHeaderFields() |
Возвращает неизменяемую карту полей заголовка. |
long |
getIfModifiedSince() |
Возвращает значение поля ifModifiedSince этого объекта. |
InputStream |
getInputStream() |
Возвращает входной поток для чтения данных из этого открытого подключения. |
long |
getLastModified() |
Возвращает значение поля заголовка last-modified. |
OutputStream |
getOutputStream() |
Возвращает выходной поток для записи данных в это подключение. |
Permission |
getPermission() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Разрешения больше нельзя использовать для управления доступом к ресурсам, поскольку диспетчер безопасности больше не поддерживается. |
int |
getReadTimeout() |
Возвращает заданное время ожидания чтения. Значение 0 означает, что параметр отключен (то есть время ожидания не ограничено). |
Map |
getRequestProperties() |
Возвращает неизменяемую карту общих свойств запроса для этого подключения. |
String |
getRequestProperty |
Возвращает значение общего свойства запроса с указанным именем для этого подключения. |
URL |
getURL() |
Возвращает значение поля URL этого URLConnection. |
boolean |
getUseCaches() |
Возвращает значение поля useCaches этого URLConnection. |
static String |
guessContentTypeFromName |
Пытается определить тип содержимого объекта на основе компонента URL, задающего имя файла. |
static String |
guessContentTypeFromStream |
Пытается определить тип входного потока по символам в его начале. |
void |
setAllowUserInteraction |
Устанавливает значение поля allowUserInteraction этого URLConnection. |
void |
setConnectTimeout |
Задает время ожидания в миллисекундах, которое будет использоваться при открытии канала связи с ресурсом, на который ссылается этот URLConnection. |
static void |
setContentHandlerFactory |
Устанавливает ContentHandlerFactory приложения. |
static void |
setDefaultAllowUserInteraction |
Задает указанное значение по умолчанию для поля allowUserInteraction всех будущих объектов URLConnection. |
static void |
setDefaultRequestProperty |
Устарело. Следует использовать метод setRequestProperty конкретного экземпляра после получения соответствующего экземпляра URLConnection. |
void |
setDefaultUseCaches |
Задает указанное значение по умолчанию для поля useCaches. |
static void |
setDefaultUseCaches |
Задает указанное значение по умолчанию для поля useCaches именованного протокола. |
void |
setDoInput |
Устанавливает указанное значение поля doInput этого URLConnection. |
void |
setDoOutput |
Устанавливает указанное значение поля doOutput этого URLConnection. |
static void |
setFileNameMap |
Задает FileNameMap. |
void |
setIfModifiedSince |
Устанавливает указанное значение поля ifModifiedSince этого URLConnection. |
void |
setReadTimeout |
Задает время ожидания чтения в миллисекундах. |
void |
setRequestProperty |
Устанавливает общее свойство запроса. |
void |
setUseCaches |
Устанавливает указанное значение поля useCaches этого URLConnection. |
String |
toString() |
Возвращает представление этого подключения URL в виде String. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного интервала реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного интервала реального времени. |
Подробное описание полей
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.