對於一般我們看到的網址即是 URL,對於 Java 來說可以透過 URL 類別將網址以字串來建立一個物件。
URL sun = new URL("http://java.sun.com");
以上的 http://java.sun.com 我們可以稱之為 "絕對URL",如果要建立"相對URL",說明如下:
譬如今天你寫了一張網頁 MyPage.html,如果在這網頁裡有一些連結可以前往其他頁面
這些頁面都是和 MyPage.html 在相同的主機以及相同的目錄之下
如:MyAlbum.html 和 MyHomework.html(如下)
<a href="MyAlbum.html">我的相簿</a>
<a href="MyHomework.html">我的作業</a>
以上的 URL 即是相對URL,以下例子:
http://www.music.com/page/index1.html
http://www.music.com/page/index2.html
則 Java 的 URL 建構子可以寫成:
URL music = new URL("http://www.music.com/page/");
URL gamelanGames = new URL(music, "index1.html");
URL gamelanNetwork = new URL(music, "index2.html");
至於 URL 還有一些覆載的建構子
譬如:URL music = new URL("http://www.music.com/page/index1.html");
格式:new URL("協定", "主機名稱", "檔案名稱");
可以寫成:URL music = new URL("http","www.music.com","/page/index1.html");
下面寫了一隻程式來說明一些關於 URL 類別的方法,程式如下:
import java.net.*;
public class URLTest
{
public static void main(String[] args)
{
for(int i=0;i<args.length;i++)
{
try{
URL url = new URL(args[i]);
System.out.println("輸入的URL為: " + url);
//getProtocol() 回傳 URL 的協定
System.out.println("getProtocol的結果: " + url.getProtocol());
//getHost() 回傳 URL 的主機名稱
String host = url.getHost();
if(host != null)
{
System.out.println("主機: " + host);
}
else
{
System.out.println("主機名稱為空值");
}
//getPort() 回傳 URL 的 port number
System.out.println("getPort值: " + url.getPort());
//getPort() 回傳 URL 的 檔案名稱
System.out.println("getFile值: " + url.getFile());
//getPort() 回傳 URL 的 路徑
System.out.println("getPath值: " + url.getPath());
}
catch(MalformedURLException e)
{
System.out.println(args[i] + "請輸入正確的URL格式");
}
System.out.println();
}
}
}
沒有留言:
張貼留言