Класс 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!/
Пользователи должны привести общий объект URLConnection к JarURLConnection, когда знают, что созданный ими URL является URL JAR, и им требуется функциональность, специфичная для JAR. Например:
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, контекстный 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, если подключение было инициировано. |
Поля, объявленные в классе java.net.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() |
Возвращает Manifest для этого подключения или null, если его нет. |
Методы, объявленные в классе java.net.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, если JAR-URL для этого подключения указывает на 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
- Возвращает:
- объект Certificate для этого подключения, если URL для него указывает на запись JAR-файла, в противном случае null.
- Исключения:
-
IOException- если получение JAR-записи вызывает исключение IOException. - См. также:
© 1993, 2021, 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/17/docs/api/java.base/java/net/JarURLConnection.html