Spec-Zone.ru › OpenJDK 25

Класс URL

java.lang.Object
java.net.URL
Все реализуемые интерфейсы:
Serializable
public final class URL extends Object implements Serializable
Класс URL представляет собой унифицированный указатель ресурса (URL), указывающий на «ресурс» во Всемирной паутине. Ресурсом может быть такой простой объект, как файл или каталог, либо ссылка на более сложный объект, например запрос к базе данных или поисковой системе. Дополнительные сведения о типах URL и их форматах см. здесь: Типы URL

В общем случае URL можно разделить на несколько частей. Рассмотрим следующий пример:

    http://www.example.com/docs/resource1.html

Приведённый выше URL указывает, что используется протокол http (протокол передачи гипертекста) и что информация находится на хост-компьютере с именем www.example.com. Информация на этом хост-компьютере называется /docs/resource1.html. Точное значение этого имени на хост-компьютере зависит как от протокола, так и от хоста. Обычно информация находится в файле, но она может создаваться динамически. Этот компонент URL называется компонентом пути.

URL может дополнительно указывать «порт» — номер порта, к которому устанавливается TCP-соединение на удалённом хост-компьютере. Если порт не указан, вместо него используется порт протокола по умолчанию. Например, портом по умолчанию для http является 80. Можно указать альтернативный порт:

    http://www.example.com:1080/docs/resource1.html

Синтаксис URL определён в документе RFC 2396: Унифицированные идентификаторы ресурсов (URI): общий синтаксис с поправками, внесёнными документом RFC 2732: Формат буквальных IPv6-адресов в URL. Формат буквального IPv6-адреса также поддерживает идентификаторы области действия (scope_id). Синтаксис и использование идентификаторов области действия описаны здесь.

К URL может быть добавлен «фрагмент», также называемый «ref» или «ссылкой». Фрагмент обозначается символом решётки «#», за которым следуют дополнительные символы. Например,

    http://www.example.com/index.html#chapter1

Технически этот фрагмент не является частью URL. Он указывает, что после получения указанного ресурса приложение интересует именно та часть документа, к которой прикреплён тег chapter1. Значение тега зависит от конкретного ресурса.

Приложение также может указать «относительный URL», содержащий лишь достаточную информацию для доступа к ресурсу относительно другого URL. Относительные URL часто используются в HTML-страницах. Например, если содержимое URL:

    http://www.example.com/index.html
содержит относительный URL:
    FAQ.html
он будет сокращённой записью для:
    http://www.example.com/FAQ.html

Относительный URL не обязан содержать все компоненты URL. Если протокол, имя хоста или номер порта отсутствуют, их значения наследуются из полного URL. Компонент файла должен быть указан. Необязательный фрагмент не наследуется.

Создание экземпляров URL

Конструкторы java.net.URL объявлены устаревшими. Разработчикам рекомендуется использовать java.net.URI для разбора или создания URL. Если для открытия соединения необходим экземпляр java.net.URL, строку URL можно создать или разобрать с помощью URI, при необходимости вызвав URI.parseServerAuthority(), чтобы проверить, можно ли разобрать компонент полномочий как полномочия на основе сервера, а затем вызвав URI.toURL() для создания экземпляра URL.

Согласно спецификации конструкторы URL должны выбрасывать исключение MalformedURLException, однако фактически выполняемый разбор и проверка зависят от реализации. Некоторые этапы разбора и проверки могут быть отложены до вызова реализации обработчика потока. Возможность создать экземпляр URL не гарантирует его соответствия спецификации синтаксиса URL.

Класс URL самостоятельно не кодирует и не декодирует компоненты URL согласно механизму экранирования, определённому в RFC2396. Вызывающая сторона отвечает за кодирование полей, которые необходимо экранировать перед вызовом URL, а также за декодирование экранированных полей, возвращаемых URL. Кроме того, поскольку URL ничего не знает об экранировании URL, он не распознаёт эквивалентность закодированной и декодированной форм одного и того же URL. Например, следующие два URL:

    http://foo.com/hello world/ and http://foo.com/hello%20world
считаются различными.

Обратите внимание: класс URI в некоторых случаях выполняет экранирование своих компонентов. Рекомендуемый способ управления кодированием и декодированием URL — использовать URI и преобразовывать объекты этих двух классов друг в друга с помощью toURI() и URI.toURL().

Также можно использовать классы URLEncoder и URLDecoder, но только для кодирования HTML-форм, которое отличается от схемы кодирования, определённой в RFC2396.

Примечание к API:
Приложениям, работающим с путями к файлам и URI файлов, следует внимательно выбирать подходящие методы для преобразования между ними. Фабричный метод Path.of(URI) и конструктор File(URI) можно использовать для создания объектов Path или File из URI файла. Методы Path.toUri() и File.toURI() можно использовать для создания URI из пути к файлу; полученный объект можно преобразовать в URL с помощью URI.toURL(). Приложениям ни в коем случае не следует пытаться создавать или разбирать URL из прямого строкового представления экземпляра File или Path.

Перед созданием URL из URI приложениям следует, в зависимости от используемого протокола, проверить, можно ли разобрать полномочия URI как полномочия на основе сервера.

Некоторые компоненты URL или URI, например userinfo, могут использоваться для создания вводящих в заблуждение URL или URI. Приложениям, работающим с URL или URI, следует учитывать рекомендации, приведённые в документе RFC 3986, раздел 7, «Вопросы безопасности».

Все конструкторы URL могут выбрасывать исключение MalformedURLException. В частности, исключение MalformedURLException может быть выброшено, если базовая реализация URLStreamHandler отклоняет или заведомо отклонит любой из параметров. Обычно конструктор, вызывающий метод parseURL обработчика потока, может выбросить MalformedURLException, если базовая реализация этого метода в обработчике потока выбрасывает IllegalArgumentException. Однако проверки, выполняемые обработчиками потока или не выполняемые ими, зависят от реализации, и вызывающим сторонам не следует полагаться на такие проверки для полной валидации URL.

Начиная с:
1.0
Внешние спецификации
  • RFC 2396: Унифицированные идентификаторы ресурсов (URI): общий синтаксис
  • RFC 2732: Формат буквальных IPv6-адресов в URL
  • RFC 3986: Унифицированный идентификатор ресурса (URI): общий синтаксис
См. также:
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
URL(String spec)
Устарел.
Используйте URI.toURL() для создания экземпляра URL.
URL(String protocol, String host, int port, String file)
Устарел.
Используйте URI.toURL() для создания экземпляра URL.
URL(String protocol, String host, int port, String file, URLStreamHandler handler)
Устарел.
Используйте of(URI, URLStreamHandler) для создания экземпляра URL, связанного с пользовательским обработчиком протокола.
URL(String protocol, String host, String file)
Устарел.
Используйте URI.toURL() для создания экземпляра URL.
URL(URL context, String spec)
Устарел.
Используйте URI.toURL() для создания экземпляра URL.
URL(URL context, String spec, URLStreamHandler handler)
Устарел.
Используйте of(URI, URLStreamHandler) для создания экземпляра URL, связанного с пользовательским обработчиком протокола.

Краткое описание методов

Модификатор и тип Метод Описание
boolean equals(Object obj)
Сравнивает этот URL на равенство с другим объектом.
String getAuthority()
Возвращает часть authority этого URL.
final Object getContent()
Возвращает содержимое этого URL.
final Object getContent(Class<?>[] classes)
Возвращает содержимое этого URL.
int getDefaultPort()
Возвращает номер порта по умолчанию для протокола, связанного с этим URL.
String getFile()
Возвращает имя файла этого URL.
String getHost()
Возвращает имя хоста этого URL, если применимо.
String getPath()
Возвращает часть path этого URL.
int getPort()
Возвращает номер порта этого URL.
String getProtocol()
Возвращает имя протокола этого URL.
String getQuery()
Возвращает часть query этого URL.
String getRef()
Возвращает якорь (также известный как «ссылка») этого URL.
String getUserInfo()
Возвращает часть userInfo этого URL.
int hashCode()
Создает целое число, подходящее для индексации в хеш-таблице.
static URL of(URI uri, URLStreamHandler handler)
Создает URL из URI, как если бы был вызван uri.toURL(), и связывает его с указанным URLStreamHandler, если это разрешено.
URLConnection openConnection()
Возвращает экземпляр URLConnection, представляющий соединение с удаленным объектом, на который ссылается URL.
URLConnection openConnection(Proxy proxy)
То же, что и openConnection(), за исключением того, что соединение устанавливается через указанный прокси-сервер; обработчики протоколов, не поддерживающие работу через прокси-сервер, проигнорируют параметр прокси-сервера и установят обычное соединение.
final InputStream openStream()
Открывает соединение с этим URL и возвращает InputStream для чтения из этого соединения.
boolean sameFile(URL other)
Сравнивает два URL, не учитывая компонент фрагмента.
static void setURLStreamHandlerFactory(URLStreamHandlerFactory fac)
Задает URLStreamHandlerFactory приложения.
String toExternalForm()
Создает строковое представление этого URL.
String toString()
Создает строковое представление этого URL.
URI toURI()
Возвращает URI, эквивалентный этому URL.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

URL

@Deprecated(since="20") public URL(String protocol, String host, int port, String file) throws MalformedURLException
Устарело.
Для создания экземпляра URL используйте URI.toURL(). Подробнее см. примечание об устаревании конструкторов.
Создает объект URL из указанного protocol, host, номера port и file.

host может быть задано в виде имени хоста или IP-адреса в буквенной записи. Если используется IPv6-адрес в буквенной записи, его следует заключить в квадратные скобки ('[' и ']'), как указано в RFC 2732; однако также поддерживается формат IPv6-адреса в буквенной записи, определенный в RFC 2373: архитектура адресации IP версии 6.

Указание номера port, равного -1, означает, что для URL следует использовать порт протокола по умолчанию.

Если это первый объект URL, создаваемый с указанным протоколом, для этого протокола создается объект обработчика потокового протокола — экземпляр класса URLStreamHandler:

  1. Если приложение ранее установило экземпляр URLStreamHandlerFactory в качестве фабрики обработчиков потоков, для создания обработчика потокового протокола вызывается метод createURLStreamHandler этого экземпляра, которому в качестве аргумента передается строка протокола.
  2. Если фабрика URLStreamHandlerFactory еще не установлена или метод createURLStreamHandler фабрики возвращает null, для поиска реализаций URLStreamHandlerProvider используется механизм ServiceLoader с загрузчиком системных классов. Порядок поиска поставщиков зависит от реализации; реализация может кэшировать найденных поставщиков. Если при вызове createURLStreamHandler возникает ошибка ServiceConfigurationError, Error или RuntimeException, она передается вызывающему потоку. Метод createURLStreamHandler каждого поставщика, если он создан, вызывается с передачей строки протокола до тех пор, пока поставщик не вернет ненулевое значение или не будут проверены все поставщики.
  3. Если на предыдущем шаге обработчик протокола не найден, конструктор считывает значение системного свойства:
    java.protocol.handler.pkgs
    Если значение этого системного свойства не равно null, оно интерпретируется как список пакетов, разделенных символом вертикальной черты '|'. Конструктор пытается загрузить класс с именем:
    <package>.<protocol>.Handler
    где <package> заменяется именем пакета, а <protocol> — именем протокола. Если такого класса нет или класс существует, но не является подклассом URLStreamHandler, выполняется поиск в следующем пакете списка.
  4. Если на предыдущем шаге обработчик протокола не найден, конструктор пытается загрузить встроенный обработчик протокола. Если такого класса нет или класс существует, но не является подклассом URLStreamHandler, выбрасывается MalformedURLException.

Гарантируется наличие в пути поиска обработчиков протоколов для следующих протоколов:

  • http
  • https
  • file
  • jar
Также могут быть доступны обработчики дополнительных протоколов. Некоторые обработчики протоколов, например используемые для загрузки классов платформы или классов из пути классов, нельзя переопределить. Подробности об этих ограничениях и условиях их применения (например, во время инициализации среды выполнения) зависят от реализации и поэтому не указаны.

Этот конструктор не выполняет проверку входных данных.

Параметры:
protocol — имя используемого протокола.
host — имя хоста.
port — номер порта на хосте.
file — файл на хосте
Исключения:
MalformedURLException — если указан неизвестный протокол, номер порта является отрицательным числом, отличным от -1, либо реализация базового обработчика потоков отклоняет или заведомо отклонит URL
Внешние спецификации
  • RFC 2373: архитектура адресации IP версии 6
  • RFC 2732: формат IPv6-адресов в буквенной записи в URL
См. также:
  • System.getProperty(java.lang.String)
  • setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory)
  • URLStreamHandler
  • URLStreamHandlerFactory.createURLStreamHandler(java.lang.String)

URL

@Deprecated(since="20") public URL(String protocol, String host, String file) throws MalformedURLException
Устарело.
Для создания экземпляра URL используйте URI.toURL(). Подробнее см. примечание об устаревании конструкторов.
Создает URL из указанного имени protocol, имени host и имени file. Используется порт по умолчанию для указанного протокола.

Этот конструктор эквивалентен четырехаргументному конструктору, за исключением того, что для указанного протокола используется порт по умолчанию. Этот конструктор не выполняет проверку входных данных.

Параметры:
protocol — имя используемого протокола.
host — имя хоста.
file — файл на хосте.
Исключения:
MalformedURLException — если указан неизвестный протокол либо реализация базового обработчика потоков отклоняет или заведомо отклонит URL
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)

URL

@Deprecated(since="20") public URL(String protocol, String host, int port, String file, URLStreamHandler handler) throws MalformedURLException
Устарело.
Для создания экземпляра URL, связанного с пользовательским обработчиком протокола, используйте of(URI, URLStreamHandler). Подробнее см. примечание об устаревании конструкторов.
Создает объект URL из указанного protocol, host, номера port, file и handler. Указание номера port, равного -1, означает, что для URL следует использовать порт протокола по умолчанию. Указание handler, равного null, означает, что для URL следует использовать обработчик потоков протокола по умолчанию, как описано для: URL(java.lang.String, java.lang.String, int, java.lang.String). Этот конструктор не выполняет проверку входных данных.
Параметры:
protocol — имя используемого протокола.
host — имя хоста.
port — номер порта на хосте.
file — файл на хосте
handler — обработчик потоков для URL.
Исключения:
MalformedURLException — если указан неизвестный протокол, номер порта является отрицательным числом, отличным от -1, либо реализация базового обработчика потоков отклоняет или заведомо отклонит URL
См. также:
  • System.getProperty(java.lang.String)
  • setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory)
  • URLStreamHandler
  • URLStreamHandlerFactory.createURLStreamHandler(java.lang.String)

URL

@Deprecated(since="20") public URL(String spec) throws MalformedURLException
Устарело.
Для создания экземпляра URL используйте URI.toURL(). Подробнее см. примечание об устаревании конструкторов.
Создает объект URL из представления String.

Этот конструктор эквивалентен вызову двухаргументного конструктора с null в качестве первого аргумента.

Параметры:
spec — String для разбора как URL.
Исключения:
MalformedURLException — если протокол не указан или найден неизвестный протокол, либо spec равен null, либо разобранный URL не соответствует синтаксису соответствующего протокола, либо метод parseURL базового обработчика потоков выбрасывает IllegalArgumentException
См. также:
  • URL(java.net.URL, java.lang.String)

URL

@Deprecated(since="20") public URL(URL context, String spec) throws MalformedURLException
Устарело.
Для создания экземпляра URL используйте URI.toURL(). Подробнее см. примечание об устаревании конструкторов.
Создает URL, разбирая указанную спецификацию в заданном контексте. Новый URL создается из заданного контекстного URL и аргумента спецификации, как описано в RFC2396 «Унифицированные идентификаторы ресурсов: общий синтаксис»:
         <scheme>://<authority><path>?<query>#<fragment>
Ссылка разбирается на компоненты схемы, полномочий, пути, запроса и фрагмента. Если компонент пути пуст, а компоненты схемы, полномочий и запроса не определены, новый URL является ссылкой на текущий документ. В противном случае в новом URL используются присутствующие в спецификации компоненты фрагмента и запроса.

Если компонент схемы задан в спецификации и не совпадает со схемой контекста, новый URL создается как абсолютный URL только на основе спецификации. В противном случае компонент схемы наследуется от контекстного URL.

Если в спецификации присутствует компонент полномочий, она рассматривается как абсолютная, а компоненты полномочий и пути спецификации заменяют компоненты полномочий и пути контекста. Если компонент полномочий в спецификации отсутствует, полномочия нового URL наследуются из контекста.

Если компонент пути спецификации начинается с косой черты «/», путь считается абсолютным, а путь спецификации заменяет путь контекста.

В противном случае путь считается относительным и добавляется к пути контекста, как описано в RFC2396. Кроме того, в этом случае путь канонизируется путем удаления изменений каталога, вызванных вхождениями «..» и «.».

Более подробное описание разбора URL см. в RFC2396.

Требования к реализации:
Разбор URL включает вызов метода parseURL выбранного обработчика.
Параметры:
context — контекст, в котором разбирается спецификация.
spec — String для разбора как URL.
Исключения:
MalformedURLException — если протокол не указан или найден неизвестный протокол, либо spec равен null, либо разобранный URL не соответствует синтаксису соответствующего протокола, либо метод parseURL базового обработчика потоков выбрасывает IllegalArgumentException
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)
  • URLStreamHandler
  • URLStreamHandler.parseURL(java.net.URL, java.lang.String, int, int)

URL

@Deprecated(since="20") public URL(URL context, String spec, URLStreamHandler handler) throws MalformedURLException
Устарело.
Используйте of(URI, URLStreamHandler), чтобы создать экземпляр URL, связанный с обработчиком пользовательского протокола. Дополнительные сведения см. в примечании об устаревании конструкторов.
Создает URL, разбирая заданную спецификацию с указанным обработчиком в заданном контексте. Если обработчик равен null, разбор выполняется так же, как и в конструкторе с двумя аргументами.
Требования к реализации:
Разбор URL включает вызов метода parseURL выбранного обработчика.
Параметры:
context — контекст, в котором разбирается спецификация.
spec — String для разбора в качестве URL.
handler — обработчик потока для URL.
Исключения:
MalformedURLException — если протокол не указан, обнаружен неизвестный протокол, spec равен null, разобранный URL не соответствует специальному синтаксису связанного протокола или метод parseURL базового обработчика потока выбрасывает IllegalArgumentException
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)
  • URLStreamHandler
  • URLStreamHandler.parseURL(java.net.URL, java.lang.String, int, int)

Подробное описание методов

of

public static URL of(URI uri, URLStreamHandler handler) throws MalformedURLException
Создает URL из URI, как если бы был вызван uri.toURL(), но связывает его с заданным URLStreamHandler, если это разрешено.
Примечание API:
Приложениям следует рассмотреть возможность выполнения дополнительных проверок целостности перед созданием URL и открытием соединения. См. примечание API в документации API на уровне класса.
Требования к реализации:
Реализация этого метода включает вызов метода parseURL выбранного обработчика.
Параметры:
uri — URI, на основе которого следует создать возвращаемый объект URL
handler — пользовательский обработчик потока протокола для возвращаемого объекта URL. Может быть равен null; в этом случае будет использован обработчик потока по умолчанию для протокола, если он существует.
Возвращает:
новый экземпляр URL, созданный на основе заданного URI и связанный с заданным URLStreamHandler, если он указан
Исключения:
NullPointerException — если uri равен null
IllegalArgumentException — если протокол не указан (схема URI равна null) либо если URLStreamHandler не равен null и не может быть установлен для заданного протокола
MalformedURLException — если обнаружен неизвестный протокол, заданный URI не соответствует специальному синтаксису связанного протокола или метод parseURL базового обработчика потока выбрасывает IllegalArgumentException
Начиная с:
20
См. также:
  • URI.toURL()

getQuery

public String getQuery()
Возвращает часть запроса этого URL.
Возвращает:
часть запроса этого URL или null, если она отсутствует
Начиная с:
1.3

getPath

public String getPath()
Возвращает часть пути этого URL.
Возвращает:
часть пути этого URL или пустую строку, если она отсутствует
Начиная с:
1.3

getUserInfo

public String getUserInfo()
Возвращает часть userInfo этого URL.
Возвращает:
часть userInfo этого URL или null, если она отсутствует
Начиная с:
1.3

getAuthority

public String getAuthority()
Возвращает часть authority этого URL.
Возвращает:
часть authority этого URL
Начиная с:
1.3

getPort

public int getPort()
Возвращает номер порта этого URL.
Возвращает:
номер порта или -1, если порт не задан

getDefaultPort

public int getDefaultPort()
Возвращает номер порта по умолчанию для протокола, связанного с этим URL. Если схема URL или URLStreamHandler для URL не определяет номер порта по умолчанию, возвращается -1.
Возвращает:
номер порта
Начиная с:
1.4

getProtocol

public String getProtocol()
Возвращает имя протокола этого URL.
Возвращает:
протокол этого URL.

getHost

public String getHost()
Возвращает имя хоста этого URL, если применимо. Формат хоста соответствует RFC 2732, то есть для буквального IPv6-адреса этот метод возвращает IPv6-адрес, заключенный в квадратные скобки ('[' и ']').
Возвращает:
имя хоста этого URL.

getFile

public String getFile()
Возвращает имя файла этого URL. Возвращаемая часть файла совпадает с getPath() с добавлением значения getQuery(), если оно есть. Если часть запроса отсутствует, этот метод и getPath() возвращают одинаковые результаты.
Возвращает:
имя файла этого URL или пустую строку, если оно отсутствует

getRef

public String getRef()
Возвращает якорь (также известный как «ссылка») этого URL.
Возвращает:
якорь (также известный как «ссылка») этого URL или null, если он отсутствует

equals

public boolean equals(Object obj)
Сравнивает этот URL с другим объектом на равенство.

Если заданный объект не является URL, этот метод немедленно возвращает false.

Два объекта URL равны, если у них одинаковый протокол, эквивалентные хосты, одинаковый номер порта на хосте, а также одинаковые файл и фрагмент файла.

Два хоста считаются эквивалентными, если оба имени хоста разрешаются в одни и те же IP-адреса; если же одно из имен хоста не удается разрешить, имена хостов должны совпадать без учета регистра; либо оба имени хоста должны быть равны null.

Поскольку сравнение хостов требует разрешения имен, эта операция блокирующая.

Примечание. Известно, что определенное поведение equals не согласуется с виртуальным хостингом в HTTP.

Переопределяет:
equals в классе Object
Параметры:
obj — URL для сравнения.
Возвращает:
true, если объекты одинаковы; в противном случае — false.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Создает целое число, подходящее для индексирования в хеш-таблице.

Хеш-код основан на всех компонентах URL, имеющих значение для сравнения URL. Поэтому эта операция блокирующая.

Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код этого URL.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

sameFile

public boolean sameFile(URL other)
Сравнивает два URL, не учитывая компонент фрагмента.

Возвращает true, если этот URL и аргумент other равны без учета компонента фрагмента.

Параметры:
other — URL для сравнения.
Возвращает:
true, если они ссылаются на один и тот же удаленный объект; в противном случае — false.

toString

public String toString()
Создает строковое представление этого URL. Строка создается вызовом метода toExternalForm обработчика потокового протокола для этого объекта.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого объекта.
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)
  • URLStreamHandler.toExternalForm(java.net.URL)

toExternalForm

public String toExternalForm()
Создает строковое представление этого URL. Строка создается вызовом метода toExternalForm обработчика потокового протокола для этого объекта.
Возвращает:
строковое представление этого объекта.
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)
  • URLStreamHandler.toExternalForm(java.net.URL)

toURI

public URI toURI() throws URISyntaxException
Возвращает URI, эквивалентный этому URL. Этот метод работает так же, как new URI (this.toString()).

Обратите внимание: любой экземпляр URL, соответствующий RFC 2396, можно преобразовать в URI. Однако некоторые URL, не полностью соответствующие этому стандарту, преобразовать в URI нельзя.

Возвращает:
экземпляр URI, эквивалентный этому URL.
Исключения:
URISyntaxException — если формат этого URL не соответствует строго RFC2396 и его невозможно преобразовать в URI.
Начиная с:
1.5

openConnection

public URLConnection openConnection() throws IOException
Возвращает экземпляр URLConnection, представляющий соединение с удаленным объектом, на который ссылается URL.

Каждый раз при вызове метода URLStreamHandler.openConnection(URL) обработчика протокола для этого URL создается новый экземпляр URLConnection.

Следует отметить, что при создании экземпляра URLConnection фактическое сетевое соединение не устанавливается. Это происходит только при вызове URLConnection.connect().

Если для протокола URL (например, HTTP или JAR) существует общедоступный специализированный подкласс URLConnection из одного из следующих пакетов или их подпакетов: java.lang, java.io, java.util, java.net, возвращаемое соединение будет экземпляром этого подкласса. Например, для HTTP будет возвращен HttpURLConnection, а для JAR — JarURLConnection.

Возвращает:
URLConnection, связанный с URL.
Исключения:
IOException — если возникает исключение ввода-вывода.
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)

openConnection

public URLConnection openConnection(Proxy proxy) throws IOException
То же, что и openConnection(), за исключением того, что соединение будет установлено через указанный прокси; обработчики протоколов, не поддерживающие прокси, проигнорируют параметр прокси и установят обычное соединение. Вызов этого метода имеет приоритет над настройками ProxySelector по умолчанию в системе.
Параметры:
proxy — прокси, через который будет установлено это соединение. Если требуется прямое соединение, следует указать Proxy.NO_PROXY.
Возвращает:
URLConnection к URL.
Выбрасывает:
IOException — если возникает исключение ввода-вывода.
IllegalArgumentException — если прокси равен null или имеет неверный тип
UnsupportedOperationException — если подкласс, реализующий обработчик протокола, не поддерживает этот метод.
С версии:
1.5
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)
  • URLConnection
  • URLStreamHandler.openConnection(java.net.URL, java.net.Proxy)

openStream

public final InputStream openStream() throws IOException
Открывает соединение с этим URL и возвращает InputStream для чтения из этого соединения. Этот метод является сокращённой записью следующего кода:
    openConnection().getInputStream()
Возвращает:
входной поток для чтения из соединения URL.
Выбрасывает:
IOException — если возникает исключение ввода-вывода.
См. также:
  • openConnection()
  • URLConnection.getInputStream()

getContent

public final Object getContent() throws IOException
Получает содержимое этого URL. Этот метод является сокращённой записью следующего кода:
    openConnection().getContent()
Возвращает:
содержимое этого URL.
Выбрасывает:
IOException — если возникает исключение ввода-вывода.
См. также:
  • URLConnection.getContent()

getContent

public final Object getContent(Class<?>[] classes) throws IOException
Получает содержимое этого URL. Этот метод является сокращённой записью следующего кода:
    openConnection().getContent(classes)
Параметры:
classes — массив типов Java
Возвращает:
объект содержимого этого URL, соответствующий первому типу из указанных в массиве классов. Если ни один из запрошенных типов не поддерживается, возвращается null.
Выбрасывает:
IOException — если возникает исключение ввода-вывода.
С версии:
1.3
См. также:
  • URLConnection.getContent(Class[])

setURLStreamHandlerFactory

public static void setURLStreamHandlerFactory(URLStreamHandlerFactory fac)
Задаёт URLStreamHandlerFactory приложения. Этот метод можно вызвать не более одного раза в данной виртуальной машине Java.

Экземпляр URLStreamHandlerFactory используется для создания обработчика потокового протокола на основе имени протокола.

Параметры:
fac — требуемая фабрика.
Выбрасывает:
Error — если приложение уже задало фабрику.
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)
  • URLStreamHandlerFactory

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/URL.html

Spec-Zone.ru

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