Метод resolve
Метод resolve класса URI преобразует
относительный URI в абсолютный на основе базового URI.
В параметр мы передаем относительный URI, который нужно
разрешить относительно текущего (базового) URI. Метод
возвращает новый объект URI, представляющий
собой результат объединения базового и относительного URI.
Если переданный URI уже является абсолютным, метод
возвращает его без изменений.
Синтаксис
uri.resolve(relativeUri)
Пример
Давайте создадим базовый URI и разрешим относительно него относительный путь:
import java.net.URI;
public class Main
{
public static void main(String[] args) throws Exception
{
URI base = new URI("http://example.com/dir/page.html");
URI relative = new URI("image.png");
URI res = base.resolve(relative);
System.out.println(res);
}
}
Результат выполнения кода:
"http://example.com/dir/image.png"
Пример
Давайте разрешим относительный URI с абсолютным путем, который заменит путь базового URI:
import java.net.URI;
public class Main
{
public static void main(String[] args) throws Exception
{
URI base = new URI("http://example.com/dir/page.html");
URI relative = new URI("/other/page.html");
URI res = base.resolve(relative);
System.out.println(res);
}
}
Результат выполнения кода:
"http://example.com/other/page.html"
Пример
Давайте передадим в метод resolve уже абсолютный
URI и посмотрим на результат:
import java.net.URI;
public class Main
{
public static void main(String[] args) throws Exception
{
URI base = new URI("http://example.com/dir/page.html");
URI absolute = new URI("https://other.com/index.html");
URI res = base.resolve(absolute);
System.out.println(res);
}
}
Результат выполнения кода:
"https://other.com/index.html"
Смотрите также
-
класс
URI,
который представляет универсальный идентификатор ресурса -
метод
relativize,
который строит относительный URI между двумя URI -
метод
getPath,
который возвращает путь URI -
метод
toURL,
который преобразует URI в URL