覚書:Java URLクラスに設定したURLはどうやって取る?
URLクラスに設定したURLの取り方が分からなかったので、実際に動かしてみた。
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Main {
public static void main(String[] args) {
// TODO code application logic here
URL url;
try {
url = new URL("https://boo.foo.com:8080/test1/TEST.html?s=1&v=2");
System.out.println("Authority:" + url.getAuthority());
System.out.println("DefaultPort:" + Integer.toString(url.getDefaultPort()));
System.out.println("File:" + url.getFile());
System.out.println("Host:" + url.getHost());
System.out.println("Path:" + url.getPath());
System.out.println("Protocol:" + url.getProtocol());
System.out.println("Query:" + url.getQuery());
System.out.println("Ref:" + url.getRef());
System.out.println("UserInfo:" + url.getUserInfo());
System.out.println("toExternalForm:"+url.toExternalForm());
System.out.println("toString:" + url.toString());
} catch (MalformedURLException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
結果は以下
Authority:boo.foo.com:8080
DefaultPort:443
File:/test1/TEST.html?s=1&v=2
Host:boo.foo.com
Path:/test1/TEST.html
Protocol:https
Query:s=1&v=2
Ref:null
UserInfo:null
toExternalForm:https://boo.foo.com:8080/test1/TEST.html?s=1&v=2
toString:https://boo.foo.com:8080/test1/TEST.html?s=1&v=2
なるほどURLを丸ごと取得するには、toExternalForm()かtoString()か。
あ、Java URLクラスの説明にあるか。
両方とも「ストリームプロトコルハンドラの toExternalFormメソッドを呼び出すことによって文字列が作成されます」とかいてあるわ。
« 今週届いたもの | トップページ | 株:現物買い約定(乾汽船) »
コメント