読者です 読者をやめる 読者になる 読者になる

URLの相対パスから絶対パスへの変換

URL (Java Platform SE 6)
HTMLパスのパースをしていて、相対パスで記述されたリンク先URLをに絶対パスに変換する方法を調べたのでメモしておきます。baseがあるとまた違ってくるのかもしれませんが。

URL baseURL = new URL("http://www.example.com/dir1/index.html");

// -> http://www.example.com/dir2/index.html
System.out.println(new URL(baseURL, "/dir2/index.html"); 

// -> http://www.example.com/dir3/index.html
System.out.println(new URL(baseURL, "../dir3/index.html"));