Spec-Zone.ru › OpenJDK 17

Класс 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_ids. Синтаксис и использование scope_ids описаны здесь.

К 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 сам по себе не кодирует или декодирует какие-либо компоненты 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, такие как userinfo, могут быть злоупотреблены для создания вводящих в заблуждение URL или URI. Приложения, работающие с URL или URI, должны учитывать рекомендации, изложенные в RFC3986, раздел 7, Учет безопасности.

С тех пор как:
1.0
См. также:
  • Сериализованная форма

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

Конструктор Описание
URL(String spec)
Создаёт объект URL из представления String.
URL(String protocol, String host, int port, String file)
Создаёт объект URL из указанного protocol, host, числового значения port и file.
URL(String protocol, String host, int port, String file, URLStreamHandler handler)
Создаёт объект URL из указанного protocol, host, числового значения port, file и handler.
URL(String protocol, String host, String file)
Создаёт URL из указанного protocol имени, host имени и file имени.
URL(URL context, String spec)
Создаёт URL путём парсинга заданного описания в указанном контексте.
URL(URL context, String spec, URLStreamHandler handler)
Создаёт URL путём парсинга заданного описания с указанным обработчиком в указанном контексте.

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

Модификатор и тип Метод Описание
boolean equals(Object obj)
Сравнивает этот URL на равенство с другим объектом.
String getAuthority()
Получает часть авторизации этого URL.
final Object getContent()
Получает содержимое этого URL.
final Object getContent(Class<?>[] classes)
Получает содержимое этого URL.
int getDefaultPort()
Получает номер порта по умолчанию для протокола, связанного с этим URL.
String getFile()
Получает имя файла этого URL.
String getHost()
Получает имя хоста этого URL, если применимо.
String getPath()
Получает часть пути этого URL.
int getPort()
Получает номер порта этого URL.
String getProtocol()
Получает имя протокола этого URL.
String getQuery()
Получает часть запроса этого URL.
String getRef()
Получает якорь (также известный как «ссылка») этого URL.
String getUserInfo()
Получает часть userInfo этого URL.
int hashCode()
Создаёт целое число, подходящее для индексации таблиц хеширования.
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.

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

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

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

URL

public URL(String protocol, String host, int port, String file) throws MalformedURLException
Создаёт объект 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, то используется механизм ServiceLoader для поиска реализаций URLStreamHandlerProvider с помощью системного загрузчика классов. Порядок поиска поставщиков зависит от реализации, и реализация свободна кешировать найденных поставщиков. Возможная ошибка конфигурации сервиса ServiceConfigurationError, Error или RuntimeException, возникшая при вызове createURLStreamHandler, будет передана потоку вызова. Если экземпляр поставщика существует, вызывается метод createURLStreamHandler каждого поставщика со строкой протокола в качестве аргумента до тех пор, пока поставщик не вернёт значение, отличное от null, или пока все поставщики не будут исчерпаны.
  3. Если на предыдущем шаге не удалось найти обработчик протокола, конструктор читает значение системной переменной:
    java.protocol.handler.pkgs
    Если значение этой системной переменной не равно null, оно интерпретируется как список пакетов, разделенных вертикальной слеш-символом '|'. Конструктор пытается загрузить класс с именем:
    <package>.<protocol>.Handler
    , где <package> заменяется именем пакета, а <protocol> — именем протокола. Если такого класса нет, или класс существует, но не является подклассом URLStreamHandler, то пробуется следующий пакет в списке.
  4. Если на предыдущем шаге не удалось найти обработчик протокола, то конструктор пытается загрузить встроенный обработчик протокола. Если такого класса нет, или класс существует, но не является подклассом URLStreamHandler, то выбрасывается MalformedURLException.

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

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

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

Parameters:
protocol - имя используемого протокола.
host - имя хоста.
port - номер порта на хосте.
file - файл на хосте
Throws:
MalformedURLException - если неизвестен протокол или порт является отрицательным числом, отличным от -1
See Also:
  • System.getProperty(java.lang.String)
  • setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory)
  • URLStreamHandler
  • URLStreamHandlerFactory.createURLStreamHandler(java.lang.String)

URL

public URL(String protocol, String host, String file) throws MalformedURLException
Создаёт URL из указанного имени protocol, имени host и имени file файла. Используется стандартный порт для указанного протокола.

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

Parameters:
protocol - имя используемого протокола.
host - имя хоста.
file - имя файла на хосте.
Throws:
MalformedURLException - если указан неизвестный протокол.
See Also:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)

URL

public URL(String protocol, String host, int port, String file, URLStreamHandler handler) throws MalformedURLException
Создаёт объект URL из указанного protocol, host, port номера, file, и handler. Указание port числа -1 означает, что URL должен использовать стандартный порт для протокола. Указание handler обработчика null означает, что URL должен использовать стандартный обработчик потоков для протокола, как описано в: URL(java.lang.String, java.lang.String, int, java.lang.String)

Если обработчик не равен null и существует менеджер безопасности, вызывается метод checkPermission менеджера безопасности с разрешением NetPermission("specifyStreamHandler"). Это может привести к исключению SecurityException. Данный конструктор не выполняет проверку входных данных.

Parameters:
protocol - имя используемого протокола.
host - имя хоста.
port - номер порта на хосте.
file - файл на хосте
handler - обработчик потоков для URL.
Throws:
MalformedURLException - если неизвестен протокол или порт является отрицательным числом, отличным от -1
SecurityException - если менеджер безопасности существует и его метод checkPermission не разрешает явное указание обработчика потоков.
See Also:
  • System.getProperty(java.lang.String)
  • setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory)
  • URLStreamHandler
  • URLStreamHandlerFactory.createURLStreamHandler(java.lang.String)
  • SecurityManager.checkPermission(java.security.Permission)
  • NetPermission

URL

public URL(String spec) throws MalformedURLException
Создаёт объект URL из String представления.

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

Parameters:
spec - String для разбора в качестве URL.
Throws:
MalformedURLException - если не указан протокол, или найден неизвестный протокол, или spec является null, или обработанный URL не соответствует синтаксису соответствующего протокола.
See Also:
  • URL(java.net.URL, java.lang.String)

URL

public URL(URL context, String spec) throws MalformedURLException
Создаёт URL, анализируя заданный спецификатор в указанном контексте. Новый URL создаётся из заданного контекстного URL и аргумента spec, как описано в RFC2396 "Uniform Resource Identifiers : Generic * Syntax" :
          <scheme>://<authority><path>?<query>#<fragment>
 
Ссылка анализируется на составляющие: схему, авторитет, путь, запрос и фрагмент. Если компонент пути пуст, а компоненты схемы, авторитета и запроса не определены, то новый URL является ссылкой на текущий документ. В противном случае, фрагмент и часть запроса, присутствующие в spec, используются в новом URL.

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

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

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

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

Для более подробного описания анализа URL обратитесь к RFC2396.

Parameters:
context - контекст, в котором анализируется спецификация.
spec - String для анализа в качестве URL.
Throws:
MalformedURLException - если не указан протокол, или найден неизвестный протокол, или spec является null, или проанализированный URL не соответствует конкретной синтаксической структуре соответствующего протокола.
See Also:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)
  • URLStreamHandler
  • URLStreamHandler.parseURL(java.net.URL, java.lang.String, int, int)

URL

public URL(URL context, String spec, URLStreamHandler handler) throws MalformedURLException
Создаёт URL, анализируя заданный спецификатор с указанным обработчиком в заданном контексте. Если обработчик равен null, анализ происходит, как и в конструкторе с двумя аргументами.
Parameters:
context - контекст, в котором анализируется спецификация.
spec - String для анализа в качестве URL.
handler - обработчик потока для URL.
Throws:
MalformedURLException - если не указан протокол, или найден неизвестный протокол, или spec является null, или проанализированный URL не соответствует конкретной синтаксической структуре соответствующего протокола.
SecurityException - если существует менеджер безопасности и его метод checkPermission не позволяет задать обработчик потока.
See Also:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)
  • URLStreamHandler
  • URLStreamHandler.parseURL(java.net.URL, java.lang.String, int, int)

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

getQuery

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

getPath

public String getPath()
Получает часть пути этого URL.
Returns:
часть пути этого URL, или пустую строку, если она отсутствует
Since:
1.3

getUserInfo

public String getUserInfo()
Получает часть userInfo этого URL.
Returns:
часть userInfo этого URL, или null если она отсутствует
Since:
1.3

getAuthority

public String getAuthority()
Получает часть авторитета этого URL.
Returns:
часть авторитета этого URL
Since:
1.3

getPort

public int getPort()
Получает номер порта этого URL.
Returns:
номер порта, или -1, если порт не задан

getDefaultPort

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

getProtocol

public String getProtocol()
Получает имя протокола этого URL.
Returns:
протокол этого URL.

getHost

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

getFile

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

getRef

public String getRef()
Получает якорь (также известный как "ссылка") этого URL.
Returns:
якорь (также известный как "ссылка") этого URL, или null если он отсутствует

equals

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

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

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

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

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

Примечание: Определённое поведение для equals известно как несоответствующее виртуальному хостингу в HTTP.

Overrides:
equals в классе Object
Parameters:
obj - URL для сравнения.
Returns:
true если объекты одинаковые; false в противном случае.
See Also:
  • Object.hashCode()
  • HashMap

hashCode

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

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

Overrides:
hashCode в классе Object
Returns:
хеш-код для этого URL.
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

sameFile

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

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

Parameters:
other - URL для сравнения.
Returns:
true если они ссылаются на один и тот же удалённый объект; false в противном случае.

toString

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

toExternalForm

public String toExternalForm()
Создаёт строковое представление этого объекта. Строка создаётся путём вызова метода 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.

Возвращает:
a 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.
Возвращает:
подключение к URL.
Исключения:
IOException - если произошла ошибка ввода-вывода.
SecurityException - если присутствует менеджер безопасности и у вызывающего объекта нет разрешения на подключение к прокси-серверу.
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)
Устанавливает фабрику обработчиков протоколов URL приложения. Этот метод может быть вызван не более одного раза в данной виртуальной машине Java.

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

Если присутствует менеджер безопасности, этот метод сначала вызывает метод checkSetFactory менеджера безопасности, чтобы убедиться, что операция разрешена. Это может привести к SecurityException.

Параметры:
fac - требуемая фабрика.
Исключения:
Error - если приложение уже установило фабрику.
SecurityException - если существует менеджер безопасности, и его метод checkSetFactory не разрешает операцию.
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)
  • URLStreamHandlerFactory
  • SecurityManager.checkSetFactory()

© 1993, 2021, 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/17/docs/api/java.base/java/net/URL.html

Spec-Zone.ru

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