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"));