Класс JarURLConnection
- java.lang.Object
-
- java.net.URLConnection
-
- java.net.JarURLConnection
public abstract class JarURLConnection extends URLConnection
Подключение к URL-адресу файла Java ARchive (JAR) или записи в файле JAR.
Синтаксис JAR-URL:
jar:<url>!/{entry}
например:
jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class
JAR-URL должны использоваться для ссылки на файл JAR или записи в файле JAR. Приведенный выше пример — JAR-URL, который ссылается на запись в файле JAR. Если имя записи опущено, URL-адрес ссылается на весь файл JAR: jar:http://www.foo.com/bar/baz.jar!/
Пользователи должны привести общий объект URLConnection к типу JarURLConnection, когда им известно, что созданный ими URL-адрес — это JAR-URL, и им требуется функциональность, специфичная для 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/
!/ называется разделителем.
При построении JAR-URL через 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
- См. также:
-
URL,URLConnection,JarFile,JarInputStream,Manifest,ZipEntry
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected URLConnection |
jarFileURLConnection |
Подключение к URL-адресу файла JAR, если подключение инициировано. |
Поля, объявленные в классе java.net.URLConnection
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
JarURLConnection(URL url) |
Создаёт новое 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
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Подробное описание полей
jarFileURLConnection
protected URLConnection jarFileURLConnection
Подключение к URL-адресу файла JAR, если подключение инициировано. Должно быть установлено методом connect.
Подробное описание конструкторов
JarURLConnection
protected JarURLConnection(URL url)
throws MalformedURLException
Создаёт новое JarURLConnection для указанного URL.
- Параметры:
-
url- URL - Исключения:
-
MalformedURLException- если в строке спецификации не удалось найти допустимый протокол или строку невозможно разобрать.
Подробное описание методов
getJarFileURL
public URL getJarFileURL()
Возвращает URL-адрес файла Jar для этого подключения.
- Возвращает:
- URL-адрес файла Jar для этого подключения.
getEntryName
public String getEntryName()
Возвращает имя записи для этого подключения. Этот метод возвращает null, если URL-адрес файла JAR, соответствующий этому подключению, указывает на сам файл JAR, а не на запись в файле JAR.
- Возвращает:
- Имя записи для этого подключения, если оно есть.
getJarFile
public abstract JarFile getJarFile()
throws IOException
Возвращает файл JAR для этого подключения.
- Возвращает:
- файл JAR для этого подключения. Если подключение является подключением к записи в файле JAR, возвращается объект файла JAR
- Исключения:
-
IOException- если при попытке подключения к файлу JAR для этого подключения возникает исключение IOException. - См. также:
URLConnection.connect()
getManifest
public Manifest getManifest()
throws IOException
Возвращает Manifest для этого подключения или null, если его нет.
- Возвращает:
- объект manifest, соответствующий объекту файла JAR для этого подключения.
- Исключения:
-
IOException- если получение файла JAR для этого подключения приводит к возникновению IOException. - См. также:
getJarFile()
getJarEntry
public JarEntry getJarEntry()
throws IOException
Возвращает объект записи JAR для этого подключения, если он есть. Этот метод возвращает null, если URL-адрес файла JAR, соответствующий этому подключению, указывает на сам файл JAR, а не на запись в файле JAR.
- Возвращает:
- объект записи JAR для этого подключения или null, если JAR-URL для этого подключения указывает на файл JAR.
- Исключения:
-
IOException- если получение файла JAR для этого подключения приводит к возникновению IOException. - См. также:
-
getJarFile(),getJarEntry()
getAttributes
public Attributes getAttributes()
throws IOException
Возвращает объект Attributes для этого подключения, если URL для него указывает на запись в файле JAR, в противном случае null.
- Возвращает:
- объект Attributes для этого подключения, если URL для него указывает на запись в файле JAR, в противном случае null.
- Исключения:
-
IOException- если получение записи JAR приводит к возникновению IOException. - См. также:
getJarEntry()
getMainAttributes
public Attributes getMainAttributes()
throws IOException
Возвращает основные атрибуты файла JAR для этого подключения.
- Возвращает:
- основные атрибуты файла JAR для этого подключения.
- Исключения:
-
IOException- если получение манифеста приводит к возникновению IOException. - См. также:
-
getJarFile(),getManifest()
getCertificates
public Certificate[] getCertificates()
throws IOException
Возвращает объект Certificate для этого подключения, если URL для него указывает на запись в файле JAR, в противном случае null. Этот метод можно вызвать только после того, как подключение полностью проверено путем чтения из потока ввода до достижения конца потока. В противном случае этот метод вернёт null.
- Возвращает:
- объект Certificate для этого подключения, если URL для него указывает на запись в файле JAR, в противном случае null.
- Исключения:
-
IOException- если получение записи JAR приводит к возникновению IOException. - См. также:
getJarEntry()
© 1993, 2020, 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/11/docs/api/java.base/java/net/JarURLConnection.html