国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

使用Java訪問網(wǎng)絡(luò)資源

2019-11-18 10:45:40
字體:
供稿:網(wǎng)友

  java的網(wǎng)絡(luò)類可以讓你通過網(wǎng)絡(luò)或者遠程連接來實現(xiàn)應(yīng)用。而且,這個平臺現(xiàn)在已經(jīng)可以對國際互聯(lián)網(wǎng)以及URL資源進行訪問了。Java的URL類可以讓訪問網(wǎng)絡(luò)資源就像是訪問你本地的文件夾一樣方便快捷。我們通過使用Java的URL類就可以經(jīng)由URL完成讀取和修改數(shù)據(jù)的操作?,F(xiàn)在,我們來看一看,如何才能發(fā)揮出URL類的效力。
  
  通過URL進行工作
  通過一個URL連接,我們就可以確定資源的位置,比如網(wǎng)絡(luò)文件、網(wǎng)絡(luò)頁面以及網(wǎng)絡(luò)應(yīng)用程序等。其中包含了許多的語法元素。舉個例子來說,請看下面這個URL連接:
  
  http://www.mycompany.com:8080/mywebapps/AWebApp
  
  
  這個連接規(guī)定使用http協(xié)議。主機名稱為www.mycompany.com。端口號為8080。這個URL的其它部分, /mywebapps/AwebApp,則確定了我們要在這個站點上所要訪問的資源。在這個例子中的資源恰好是一個網(wǎng)絡(luò)應(yīng)用程序。而且,URL還可以包含其它的元素,比如說文件段以及查詢信息等等。
  
  從URL得到的數(shù)據(jù)可以是多種多樣的,這些都需要一種統(tǒng)一的機制來完成對URL的讀取與修改操作。Java語言在它的java.net軟件包里就提供了這么一種機制。有關(guān)這個java.net軟件包的問題我們會在URL class的部分中進行討論。
  
  URL class是從URL標示符中提取出來的。它答應(yīng)Java程序設(shè)計人員打開某個特定URL連接,并對里邊的數(shù)據(jù)進行讀寫操作以及對首部信息進行讀寫操作。而且,它還答應(yīng)程序員完成其它的一些有關(guān)URL的操作。我們將會討論由java.io包裹所提供的URL class以及stream classes是如何答應(yīng)你對一個URL進行操作的,而且我們將會以對文件以及socket連接的操作差不多的風格對其進行討論。
  
  構(gòu)造器
  在創(chuàng)建java.net URL的實例的時候,你能夠利用許多公共構(gòu)造器,從而讓其變得更具靈活性。舉個例子來說,這個class提供了一種使用完整URL信息串的構(gòu)造器,一種使用把URL信息串分解成為協(xié)議、主機名以及文件和資源的構(gòu)造器,還有一種把URL信息串分解成為協(xié)議、主機名、端口號以及文件的構(gòu)造器。我們首先使用完整的URL來創(chuàng)建一個URL class的例子:URL aURL = new URL(“http://www.mycompany.com:8080/index.Html”);
  
  在這個例子中,我們創(chuàng)建了一個使用完整URL的URL class,其中明確指出了使用的協(xié)議是http,主機名稱是www.mycompany.com,端口號碼為8080,文件/資源為index.html。假如組成URL的語法發(fā)生了錯誤,那么構(gòu)造器就會發(fā)出MalformedURLException。打開一個URL連接
  
  一旦你成功的創(chuàng)建了一個URL class的實例,你就可以對其進行操作了。但是在你能夠訪問這個URL上的資源和內(nèi)容之前,你必須要打開到這些資源與內(nèi)容上的連接。你可以通過使用openConnection來完成這一操作。
  
  使用openConnection并不需要參數(shù),并且在操作成功之后,它會返回一個URLConnection class的實例。在Listing A中,向我們演示了打開一個到URL連接的過程。一旦你的連接成功,你就可以開始對這個URLConnection的輸入以及輸出流進行讀和寫的操作了。
  
  從URL連接中讀取數(shù)據(jù)
  使用java.io stream class來從URL中讀取數(shù)據(jù)是一個非常簡單的過程。一旦你建立了一個成功的連接,那么你就可以獲得針對這個連接的輸入流并且開始進行寫的操作了。URL可以代表很多不同種類的數(shù)據(jù)類型所組成的資源。很幸運的是,java.io classes可以以與對文件流或者socket流進行操作的同樣方式進行對從URLConnection流返回的數(shù)據(jù)進行操作。在Listing B中,向我們展示了如何從URL中讀取文本數(shù)據(jù)。
  
  對URL進行寫的操作
  使用java.io stream classes對URL進行寫的操作同樣也是非常簡單的。一旦你建立了一個成功的連接之后,你就可以得到來自此連接的輸出流并且開始進行寫的操作。當然,只有對于客戶所希望的數(shù)據(jù)進行寫的操作才是有意義的。同樣的,在獲得并對URLConnection流進行寫的操作之前,你還需要使用setDoOutput(boolean)方式把輸出(Output)屬性設(shè)置為真(true)來指定可以進行寫操作的那些連接。Java.io classes答應(yīng)你把數(shù)據(jù)寫到URLConnection流,這個操作也和你對文件流和socket流進行的寫操作一樣。Listing C向我們展示了如何把對象數(shù)據(jù)寫入一個URL。
  
  其它的操作
  你可以從URL以及URLConnection對象連接中得到其它類型的信息,比如說主機名、端口、內(nèi)容長度、內(nèi)容編碼以及內(nèi)容的類型。把這些方法連同stream I/O classes一起使用可以讓你建立復雜而有效的網(wǎng)絡(luò)客戶應(yīng)用程序和服務(wù)。
  
  對網(wǎng)絡(luò)的便捷訪問
  由Java平臺所提供的URL class讓我們可以方便而有效的訪問網(wǎng)絡(luò)上的資源,而且可以讓我們象訪問本地文件一樣的感到輕松愉快。我們不用為網(wǎng)絡(luò)通訊的細節(jié)問題操心,只需要把注重力集中到制作有用的應(yīng)用程序和服務(wù)上去。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新竹市| 自治县| 九台市| 彭水| 平定县| 天祝| 阳西县| 许昌县| 屯留县| 乌苏市| 宿州市| 大邑县| 云南省| 伊通| 林周县| 澄江县| 东方市| 丹江口市| 府谷县| 永川市| 阿拉善右旗| 东海县| 兴隆县| 临邑县| 客服| 青阳县| 洪雅县| 班玛县| 门源| 孝义市| 兖州市| 阿鲁科尔沁旗| 鄂温| 油尖旺区| 唐山市| 新宁县| 吴忠市| 平远县| 阿坝| 宣威市| 延津县|