Метод toURI
Метод toURI класса URL преобразует
текущий объект URL в объект класса
URI. Метод не принимает параметров
и возвращает новый объект URI,
построенный на основе адреса текущего URL.
Если из URL невозможно построить корректный URI
(например, адрес содержит недопустимые символы),
метод выбрасывает исключение URISyntaxException.
Синтаксис
public URI toURI() throws URISyntaxException
Пример
Давайте создадим объект URL и преобразуем
его в объект URI с помощью метода
toURI:
import java.net.URL;
import java.net.URI;
public class Main
{
public static void main(String[] args) throws Exception
{
URL url = new URL("https://code.mu/ru/java/");
URI uri = url.toURI();
System.out.println(uri);
}
}
Результат выполнения кода:
"https://code.mu/ru/java/"
Пример
Давайте извлечём отдельные части адреса
из полученного объекта URI:
import java.net.URL;
import java.net.URI;
public class Main
{
public static void main(String[] args) throws Exception
{
URL url = new URL("https://code.mu:8080/ru/java/index.html?page=1");
URI uri = url.toURI();
System.out.println(uri.getScheme());
System.out.println(uri.getHost());
System.out.println(uri.getPort());
System.out.println(uri.getPath());
System.out.println(uri.getQuery());
}
}
Результат выполнения кода:
"https"
"code.mu"
8080
"/ru/java/index.html"
"page=1"
Пример
Давайте сравним исходный URL и полученный URI, чтобы убедиться, что адрес не изменился:
import java.net.URL;
import java.net.URI;
public class Main
{
public static void main(String[] args) throws Exception
{
URL url = new URL("https://code.mu/ru/java/");
URI uri = url.toURI();
boolean res = url.toString().equals(uri.toString());
System.out.println(res);
}
}
Результат выполнения кода:
true
Смотрите также
-
класс
URL,
который представляет адрес ресурса -
класс
URI,
который представляет идентификатор ресурса -
метод
toURL,
который преобразует URI обратно в URL -
метод
getProtocol,
который возвращает протокол URL