Класс JarURLConnection
- java.lang.Object
-
- java.net.URLConnection
-
- java.net.JarURLConnection
public abstract class JarURLConnection extends URLConnection
Соединение URL с файлом Java ARchive (JAR) или записью в файле JAR.
Синтаксис 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 к типу 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
- C момента:
- 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, 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, 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, а не на запись в нём.
- Возвращает:
- имя записи для этого соединения, если есть.
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 для этого соединения, или null, если URL JAR для этого соединения ссылается на файл 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- если получение manifest приводит к исключению 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.