I have a URL:
URL url=new URL("https://example.com/aa/bb/cc/file.html");
and a relative path:
String relativePath="../file2.html"; //maybe is "/file3.html"
I want to get http://example.com/aa/bb/file2.html
using variable url
and relativePath
How to do开发者_Go百科 it?
new URL(url, relativePath);
If you want to build an URL pointing to a relative file, you can use:
URL url = new URL(new URL("file:"), "./myLocalFile.txt");
Try operating winth the class URI instead of the URL.
To get the URI from your URL:
java.net.URI anURI=url.toUri();
Then, to resolve the relative URI:
URI resultURI=anURI.resolve(relativePath);
And at last, to get an URL type use de method toUrl() of the URI result variable, and you've got it.
When building relative URL, keep in mind that the base is path to current package, not file. I mean: the referer file is in .../myProject/src/pckg/javafile.java
and the referated file is in .../myProject/some-other/nice.file
, then the relative reference should look like this:
URL url = new URL(new URL("file:"), "./../some-other/nice.file");
and this works for me as well:
URL url = new URL("file:./../some-other/nice.file");
What I found worked is this:
new URL("file:./src/gui/Something.fxml")
This worked for my code
URL url=Myclass.class.getResource("/com/fnf/si/DepAcctInq_V02.wsdl");
精彩评论