Spec-Zone.ru › OpenJDK 8

Класс 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API