Spec-Zone.ru › OpenJDK 25

Класс URLStreamHandler

java.lang.Object
java.net.URLStreamHandler
public abstract class URLStreamHandler extends Object
Абстрактный класс URLStreamHandler является общим суперклассом для всех обработчиков потоковых протоколов. Обработчик потокового протокола знает, как установить соединение для определённого типа протокола, например http или https.

В большинстве случаев экземпляр подкласса URLStreamHandler не создаётся непосредственно приложением. Вместо этого при первом обнаружении имени протокола во время создания URL автоматически загружается соответствующий обработчик потокового протокола.

С версии:
1.0
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)

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

Конструктор Описание
URLStreamHandler()
Конструктор для вызова из подклассов.

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

Модификатор и тип Метод Описание
protected boolean equals(URL u1, URL u2)
Предоставляет реализацию вычисления equals по умолчанию.
protected int getDefaultPort()
Возвращает порт по умолчанию для URL, разобранного этим обработчиком.
protected InetAddress getHostAddress(URL u)
Получает IP-адрес нашего хоста.
protected int hashCode(URL u)
Предоставляет реализацию вычисления хеш-кода по умолчанию.
protected boolean hostsEqual(URL u1, URL u2)
Сравнивает компоненты хоста двух URL.
protected abstract URLConnection openConnection(URL u)
Открывает соединение с объектом, на который ссылается аргумент URL.
protected URLConnection openConnection(URL u, Proxy p)
То же, что и openConnection(URL), за исключением того, что соединение будет установлено через указанный прокси-сервер; обработчики протоколов, не поддерживающие прокси-серверы, проигнорируют параметр прокси-сервера и установят обычное соединение.
protected void parseURL(URL u, String spec, int start, int limit)
Разбирает строковое представление URL в объект URL.
protected boolean sameFile(URL u1, URL u2)
Сравнивает два URL, чтобы определить, ссылаются ли они на один и тот же файл, то есть имеют одинаковые протокол, хост, порт и путь.
protected void setURL(URL u, String protocol, String host, int port, String file, String ref)
Устарело.
Используйте setURL(URL, String, String, int, String, String, String, String);
protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)
Устанавливает поля аргумента URL в указанные значения.
protected String toExternalForm(URL u)
Преобразует URL определённого протокола в String.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

URLStreamHandler

public URLStreamHandler()
Конструктор для вызова из подклассов.

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

openConnection

protected abstract URLConnection openConnection(URL u) throws IOException
Открывает соединение с объектом, на который ссылается аргумент URL. Этот метод следует переопределить в подклассе.

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

Параметры:
u — URL, с которым устанавливается соединение.
Возвращает:
объект URLConnection для URL.
Исключения:
IOException — если при открытии соединения произошла ошибка ввода-вывода.

openConnection

protected URLConnection openConnection(URL u, Proxy p) throws IOException
То же, что и openConnection(URL), за исключением того, что соединение будет установлено через указанный прокси-сервер; обработчики протоколов, не поддерживающие прокси-серверы, проигнорируют параметр прокси-сервера и установят обычное соединение.

Вызов этого метода имеет приоритет над настройками системного ProxySelector.

Требования к реализации:
Реализация этого метода по умолчанию сначала проверяет, что переданные URL и Proxy не равны null, а затем выбрасывает UnsupportedOperationException. Подклассам следует переопределить этот метод, предоставив подходящую реализацию.
Параметры:
u — URL, с которым устанавливается соединение.
p — прокси-сервер, через который будет установлено соединение. Если требуется прямое соединение, следует указать Proxy.NO_PROXY.
Возвращает:
объект URLConnection для URL.
Исключения:
IOException — если при открытии соединения произошла ошибка ввода-вывода.
IllegalArgumentException — если u или p равно null либо p имеет неверный тип.
UnsupportedOperationException — если подкласс, реализующий протокол, не поддерживает этот метод.
С версии:
1.5

parseURL

protected void parseURL(URL u, String spec, int start, int limit)
Разбирает строковое представление URL в объект URL.

Если имеется унаследованный контекст, он уже скопирован в аргумент URL.

Метод parseURL класса URLStreamHandler разбирает строковое представление так, как если бы оно было спецификацией http. Большинство семейств протоколов URL используют аналогичный синтаксис разбора. Обработчик потокового протокола с иным синтаксисом должен переопределить эту процедуру.

Параметры:
u — URL, в который следует поместить результат разбора спецификации.
spec — String, представляющий URL, который необходимо разобрать.
start — индекс символа, с которого следует начать разбор. Он указывает на символ сразу после «:» (если он есть), задающего начало имени протокола.
limit — позиция символа, на которой следует остановить разбор. Это конец строки или позиция символа «#», если он присутствует. Вся информация после знака решётки обозначает якорь.
Исключения:
IllegalArgumentException — если реализация обработчика протокола отклоняет любой из переданных параметров
NullPointerException — если u равно null или если start < limit и spec равно null

getDefaultPort

protected int getDefaultPort()
Возвращает порт по умолчанию для URL, разобранного этим обработчиком. Этот метод предназначен для переопределения обработчиками с номерами портов по умолчанию.
Возвращает:
порт по умолчанию для URL, разобранного этим обработчиком.
С версии:
1.3

equals

protected boolean equals(URL u1, URL u2)
Предоставляет реализацию вычисления equals по умолчанию. Может быть переопределён обработчиками других протоколов, для которых действуют иные требования к equals(). Этот метод требует, чтобы ни один из его аргументов не был равен null. Это гарантируется тем, что метод вызывается только классом java.net.URL.
Параметры:
u1 — объект URL
u2 — объект URL
Возвращает:
true, если два URL считаются равными, то есть ссылаются на один и тот же фрагмент в одном и том же файле.
С версии:
1.3

hashCode

protected int hashCode(URL u)
Предоставляет реализацию вычисления хеш-кода по умолчанию. Может быть переопределён обработчиками других протоколов, для которых действуют иные требования к вычислению hashCode.
Параметры:
u — объект URL
Возвращает:
int, подходящий для индексирования в хеш-таблице
С версии:
1.3

sameFile

protected boolean sameFile(URL u1, URL u2)
Сравнивает два URL, чтобы определить, ссылаются ли они на один и тот же файл, то есть имеют одинаковые протокол, хост, порт и путь. Этот метод требует, чтобы ни один из его аргументов не был равен null. Это гарантируется тем, что метод вызывается только косвенно классом java.net.URL.
Параметры:
u1 — объект URL
u2 — объект URL
Возвращает:
true, если u1 и u2 ссылаются на один и тот же файл
С версии:
1.3

getHostAddress

protected InetAddress getHostAddress(URL u)
Получает IP-адрес нашего хоста. Если поле хоста пусто или произошёл сбой DNS, возвращается null.
Параметры:
u — объект URL
Возвращает:
InetAddress, представляющий IP-адрес хоста.
С версии:
1.3

hostsEqual

protected boolean hostsEqual(URL u1, URL u2)
Сравнивает компоненты хоста двух URL.
Параметры:
u1 — URL первого хоста для сравнения
u2 — URL второго хоста для сравнения
Возвращает:
true, если и только если они равны, и false в противном случае.
С версии:
1.3

toExternalForm

protected String toExternalForm(URL u)
Преобразует URL определённого протокола в String.
Параметры:
u — URL.
Возвращает:
строковое представление аргумента URL.

setURL

protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)
Устанавливает поля аргумента URL в указанные значения. Только классы, производные от URLStreamHandler, могут использовать этот метод для установки значений полей URL.
Параметры:
u — URL для изменения.
protocol — имя протокола.
host — значение удалённого хоста для URL.
port — порт на удалённом компьютере.
authority — часть authority URL.
userInfo — часть userInfo URL.
path — компонент пути URL.
query — часть query URL.
ref — ссылка.
Исключения:
SecurityException — если обработчик протокола URL отличается от текущего
IllegalArgumentException — если реализация обработчика протокола отклоняет любой из переданных параметров
NullPointerException — если u равно null
С версии:
1.3

setURL

@Deprecated protected void setURL(URL u, String protocol, String host, int port, String file, String ref)
Устарело.
Используйте setURL(URL, String, String, int, String, String, String, String);
Устанавливает поля аргумента URL в указанные значения. Только классы, производные от URLStreamHandler, могут использовать этот метод для установки значений полей URL.
Параметры:
u — URL для изменения.
protocol — имя протокола. Это значение игнорируется начиная с версии 1.2.
host — значение удалённого хоста для URL.
port — порт на удалённом компьютере.
file — файл.
ref — ссылка.
Исключения:
SecurityException — если обработчик протокола URL отличается от текущего
IllegalArgumentException — если реализация обработчика протокола отклоняет любой из переданных параметров
NullPointerException — если u равно null

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/URLStreamHandler.html

Spec-Zone.ru

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