Подтвердить что ты не робот

Как получить URL, используя относительный путь

У меня есть URL:

URL url=new URL("http://www.abc.com/aa/bb/cc/file.html");

и относительный путь:

String relativePath="../file2.html"; //maybe is "/file3.html"

Я хочу получить http://www.abc.com/aa/bb/file2.html с помощью переменных url и relativePath

Как это сделать?

4b9b3361

Ответ 1

new URL(url, relativePath);

Ответ 2

Попробуйте запустить win class URI вместо URL.

Чтобы получить URI из вашего URL-адреса:

java.net.URI anURI=url.toUri();

Затем, чтобы разрешить относительный URI:

URI resultURI=anURI.resolve(relativePath);

И наконец, чтобы получить тип URL, используйте метод toUrl() для переменной результата URI, и вы получили его.

Ответ 3

Если вы хотите создать URL-адрес, указывающий на относительный файл, вы можете использовать:

URL url = new URL(new URL("file:"), "./myLocalFile.txt");

Ответ 4

При создании относительного URL-адреса имейте в виду, что базой является путь к текущему пакету, а не файлу. Я имею в виду: файл-референт находится в .../myProject/src/pckg/javafile.java, а ссылочный файл находится в .../myProject/some-other/nice.file, тогда относительная ссылка должна выглядеть так:

URL url = new URL(new URL("file:"), "./../some-other/nice.file");

и это работает и для меня:

URL url = new URL("file:./../some-other/nice.file");