Класс URLStreamHandler
public abstract class URLStreamHandler extends Object
URLStreamHandler является общим суперклассом для всех обработчиков потоковых протоколов. Обработчик потокового протокола знает, как установить соединение для определенного типа протокола, например http или https. В большинстве случаев экземпляр подкласса URLStreamHandler не создается непосредственно приложением. Вместо этого при первом обнаружении имени протокола во время создания URL автоматически загружается соответствующий обработчик потокового протокола.
- Начиная с:
- 1.0
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
URLStreamHandler() |
Конструктор для вызова из подклассов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected boolean |
equals |
Предоставляет реализацию вычисления равенства по умолчанию. |
protected int |
getDefaultPort() |
Возвращает порт по умолчанию для URL, разобранного этим обработчиком. |
protected InetAddress |
getHostAddress |
Получает IP-адрес нашего хоста. |
protected int |
hashCode |
Предоставляет реализацию вычисления хеш-кода по умолчанию. |
protected boolean |
hostsEqual |
Сравнивает компоненты хоста двух URL. |
protected abstract URLConnection |
openConnection |
Открывает соединение с объектом, на который ссылается аргумент URL. |
protected URLConnection |
openConnection |
То же, что и openConnection(URL), за исключением того, что соединение устанавливается через указанный прокси-сервер; обработчики протоколов, не поддерживающие работу через прокси-сервер, игнорируют параметр прокси и устанавливают обычное соединение. |
protected void |
parseURL |
Разбирает строковое представление URL в объект URL. |
protected boolean |
sameFile |
Сравнивает два URL, чтобы определить, ссылаются ли они на один и тот же файл, то есть имеют ли одинаковые протокол, хост, порт и путь. |
protected void |
setURL |
Устарел. Используйте setURL(URL, String, String, int, String, String, String, String); |
protected void |
setURL |
Устанавливает поля аргумента URL в указанные значения. |
protected String |
toExternalForm |
Преобразует URL определенного протокола в String. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарел, будет удален: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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
Вызов этого метода имеет приоритет над настройками системного 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, разобранного этим обработчиком. - Начиная с:
- 1.3
equals
protected boolean equals(URL u1, URL u2)
- Параметры:
-
u1— объект URL -
u2— объект URL - Возвращает:
-
true, если два URL считаются равными, то есть ссылаются на один и тот же фрагмент одного и того же файла. - Начиная с:
- 1.3
hashCode
protected int hashCode(URL u)
- Параметры:
-
u— объект URL - Возвращает:
int, подходящий для индексирования в хеш-таблице- Начиная с:
- 1.3
sameFile
protected boolean sameFile(URL u1, URL u2)
- Параметры:
-
u1— объект URL -
u2— объект URL - Возвращает:
- true, если u1 и u2 ссылаются на один и тот же файл
- Начиная с:
- 1.3
getHostAddress
protected InetAddress getHostAddress(URL u)
- Параметры:
-
u— объект URL - Возвращает:
- объект
InetAddress, представляющий IP-адрес хоста. - Начиная с:
- 1.3
hostsEqual
protected boolean hostsEqual(URL u1, URL u2)
- Параметры:
-
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— часть URL, содержащая полномочия доступа. -
userInfo— часть URL, содержащая сведения о пользователе. -
path— компонент пути URL. -
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)
URL в указанные значения. Только классы, производные от URLStreamHandler, могут использовать этот метод для задания значений полей URL.- Параметры:
-
u— URL для изменения. -
protocol— имя протокола. Это значение игнорируется начиная с версии 1.2. -
host— значение удаленного хоста для URL. -
port— порт на удаленной машине. -
file— файл. -
ref— ссылка. - Исключения:
-
SecurityException— если обработчик протокола URL отличается от этого обработчика -
IllegalArgumentException— если реализация обработчика протокола отклоняет один из заданных параметров -
NullPointerException— еслиuявляетсяnull
© 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.