Java網絡編程之URI、URL研究(下) 01

在上個專題《Java網絡編程之URI、URL研究(上)》中我們介紹了URI、URL的慨念和體系結構,以及如何使用URI在本文中我將繼續向大家介紹如何使用URL和MIME(多用途的網際郵件擴充協議)的概念以及它如何與URL發生聯繫的。


  使用URL

  網絡API通過提供URL類讓我們能在源代碼層使用URL。每一個URL對象都封裝了資源的標識符和協議處理程序。前面的技巧顯示了獲得URL對象的途徑之一是調用URI對象的toURL()方法。但是這種選擇不一定方便(爲什麼在需要URL對象的時候必須建立URI對象呢?)。作爲代替,你可以調用URL構造函數來建立URL對象。你也可以調用URL的方法來提取URL的組件,打開一個輸入流(input stream)從資源中讀取信息,獲得某個能方便檢索資源數據的對象的引用,比較兩個URL對象中的URL,獲得到資源的連接對象,該連接對象允許代碼瞭解(並寫入)更多的資源的信息。

  URL類有六個構造函數。其中最簡單的是URL(String url),它有一個String類型的參數,把URL分解爲自己的組件,並把這些組件存儲在一個新的URL對象中。如果某個URL沒有包含協議處理程序或該URL的協議是未知的,其它的五個構造函數會產生一個java.net.MalformedURLException對象。
下面的代碼片斷演示了使用URL(String url)建立一個URL對象,該對象封裝了一個簡單的URL組件和http協議處理程序。

URL url = new URL ("http://www.informit.com");

  一旦擁有了URL對象,你就可以使用getAuthority()、getDefaultPort()、 getFile()、 getHost()、 getPath()、getPort()、 getProtocol()、getQuery()、getRef()和getUserInfo(). The getDefaultPort()等方法提取各種組件。如果URL中沒有指定端口的部分,getDefaultPort()方法返回URL對象的協議處理程序使用(資源定位)的默認端口。getFile()方法返回路徑和查詢組件的結合體。getProtocol()方法返回決定資源的連接類型(例如http、mailto、ftp)的協議的名稱。getRef()方法返回URL的部分片斷(我們所知道的引用)。最後,getUserInfo()方法返回授權機構組件的用戶信息部分。在這些URL組件提取方法中,如果某些組件不存在(如果沒有給URL對象的協議處理程序指定默認的端口,它也返回-1),這些方法就返回null或-1。

  作爲這些組件提取方法的補充,你還可以調用openStream()方法檢索java.io.InputStream引用。使用這種引用,你可以用面向字節的方式讀取資源。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章