[java]URIとURL
2006/08/31
2008/01/20
java
uri
url
java.net.URIクラスには toURLメソッドが用意されています。
ですが、java.net.URLクラスには、toURIメソッドがありません。
何故にそういう疑問をもつにいたったかといいますと、
という説明を読んで、単純にすべてのURLはURIなら、toURIメソッドをURLクラスがもっていてもいいのではないか、と思ったからです。
似たような疑問をもった方がいました。
http://www.teria.com/~koseki/emacswiki/FileUriUrl.html
相互変換は簡単にできます。
http://javaalmanac.com/egs/java.net/Url2Uri.html?l=rel
下記のコードは、http://javaalmanac.com/egs/java.net/Url2Uri.html?l=relで紹介されていたものです。
try {
url = uri.toURL();
} catch (IllegalArgumentException e) {
// URI was not absolute
} catch (MalformedURLException e) {
}
// Convert a URL to a URI
try {
uri = new URI(url.toString());
} catch (URISyntaxException e) {
}
ですが、java.net.URLクラスには、toURIメソッドがありません。
何故にそういう疑問をもつにいたったかといいますと、
URI は Uniform Resource Identifier であり、URL は Uniform Resource Locator です。したがって、抽象的に言えば、すべての URL は URI ですが、すべての URI が URL であるとはかぎりません。
javadoc1.4 日本語版 java.net.URIの説明より
という説明を読んで、単純にすべてのURLはURIなら、toURIメソッドをURLクラスがもっていてもいいのではないか、と思ったからです。
似たような疑問をもった方がいました。
http://www.teria.com/~koseki/emacswiki/FileUriUrl.html
相互変換は簡単にできます。
http://javaalmanac.com/egs/java.net/Url2Uri.html?l=rel
下記のコードは、http://javaalmanac.com/egs/java.net/Url2Uri.html?l=relで紹介されていたものです。
try {
url = uri.toURL();
} catch (IllegalArgumentException e) {
// URI was not absolute
} catch (MalformedURLException e) {
}
// Convert a URL to a URI
try {
uri = new URI(url.toString());
} catch (URISyntaxException e) {
}
: