Класс URLStreamHandler
public abstract class URLStreamHandler extends Object
URLStreamHandler — общий суперкласс для всех обработчиков протоколов потоков. Обработчик протокола потока знает, как установить соединение для конкретного типа протокола, например, http или https. В большинстве случаев экземпляр подкласса URLStreamHandler не создаётся напрямую приложением. Вместо этого, при первом обнаружении имени протокола при построении URL, соответствующий обработчик протокола потока автоматически загружается.
- С момента:
- 1.0
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
URLStreamHandler() |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected boolean |
equals |
Предоставляет вычисление equals по умолчанию. |
protected int |
getDefaultPort() |
Возвращает порт по умолчанию для URL, разобранного этим обработчиком. |
protected InetAddress |
getHostAddress |
Получение IP-адреса нашего хоста. |
protected int |
hashCode |
Предоставляет вычисление hash по умолчанию. |
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. |
Подробное описание конструкторов
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- часть 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, 2023, 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/21/docs/api/java.base/java/net/URLStreamHandler.html