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

首頁(yè) > 編程 > Java > 正文

詳解Java編程中統(tǒng)一資源定位符URL的相關(guān)使用

2019-11-26 14:56:10
字體:
供稿:網(wǎng)友

統(tǒng)一資源定位符URL(Uniform Resource Locator)是www客戶機(jī)訪問Internet時(shí)用來標(biāo)識(shí)資源的名字和地址。超文本鏈路由統(tǒng)一資源定位符URL維持。URL的格式是:
    <METHOD>://<HOSTNAME:PORT>/<PATH>/<FILE>
其中:Method是傳輸協(xié)議:HOSTNAME是文檔和服務(wù)器所在的Internet主機(jī)名(域名系統(tǒng)中DNS中的點(diǎn)地址);PORT是服務(wù)端口號(hào)(可省略);PATH是路徑名,F(xiàn)ILE是文件名。例如:
    http://www.weixueyuan.net/(http是協(xié)議名,www.weixueyuan.net是主機(jī)名)
    http://www.weixueyuan.net/view/6079.html (www.weixueyuan.net是主機(jī)名,view/6079.html是文件路徑和文件名)
URL類

Java.net包有URL類,一個(gè)URL對(duì)象可以表示一個(gè)網(wǎng)絡(luò)資源。程序利用URL對(duì)象能實(shí)現(xiàn)Internet尋址、網(wǎng)絡(luò)資源的定位連接、在客戶機(jī)與服務(wù)器之間直接訪問等。URL類的構(gòu)造方法是

  URL(String s)


其中,s指出網(wǎng)絡(luò)中的一個(gè)資源。

利用URL對(duì)象訪問網(wǎng)上資源的方法是:先創(chuàng)建URL對(duì)象,如以下代碼所示:

URL myURL;try {  myURL = new URL(“http://www.weixueyuan.net:80/”);}catch(MalformedURLException e){  System.out.println(“有錯(cuò)的URL:”+url+e);}

因創(chuàng)建URL對(duì)象可能會(huì)產(chǎn)生MalformedURLException異常。所以,創(chuàng)建URL對(duì)象的代碼應(yīng)出現(xiàn)在try…catch語(yǔ)句塊中,以便能捕捉網(wǎng)址錯(cuò)誤異常。
URLConnection類

要接收和發(fā)關(guān)信息還要用URLConnection類,程序獲得一個(gè)URLConnection對(duì)象,相當(dāng)于完成對(duì)指定URL的一個(gè)HTTP連接。以下是示意獲得URLConnection對(duì)象的代碼。

  URL mu = new URL(“http://www.sun.com/”);//先要?jiǎng)?chuàng)建一個(gè)URL對(duì)象  URLConnection muC = mu.openConnection();//獲得URLConnection對(duì)象


上述代碼說明,先要?jiǎng)?chuàng)建一個(gè)URL對(duì)象,然后利用URL對(duì)象的openConnection()方法,從系統(tǒng)獲得一個(gè)URLConnection對(duì)象。程序有了URLConnection對(duì)象后,就可使用URLConnection類提供的以下方法獲得流對(duì)象和實(shí)現(xiàn)網(wǎng)絡(luò)連接:
getOutputStream():獲得向遠(yuǎn)程主機(jī)發(fā)送信息的OutputStream流對(duì)象;
getInputStream():獲得從遠(yuǎn)程主機(jī)獲取信息的InputStream流對(duì)象。有了網(wǎng)絡(luò)連接的輸入和輸出流,程序就可實(shí)現(xiàn)遠(yuǎn)程通信;
connect():設(shè)置網(wǎng)絡(luò)連接。
信息的發(fā)送和接收

發(fā)送和接收信息要獲得流對(duì)象,并由流對(duì)象創(chuàng)建輸入或輸出數(shù)據(jù)流對(duì)象。然后,就可以用流的方法訪問網(wǎng)上資源。

參見下面例子程序中的方法readByURL(),該方法說明已知網(wǎng)址讀取網(wǎng)頁(yè)內(nèi)容的過程。方法利用網(wǎng)址參數(shù)創(chuàng)建一個(gè)URL對(duì)象url,接著利用對(duì)象url的openConnect()方法,獲得URLConnection對(duì)象tc,用對(duì)象tc的connect()方法建立網(wǎng)絡(luò)連接,接著獲得網(wǎng)絡(luò)連接的InputStreamReader類對(duì)象in,將對(duì)象in,轉(zhuǎn)化成為BufferedRead對(duì)象dis,改為緩沖式輸入。最后,用對(duì)象dis的readLine()方法完成讀取網(wǎng)絡(luò)文本數(shù)據(jù)。

如同本地?cái)?shù)據(jù)流一樣,網(wǎng)上資源使用結(jié)束后,數(shù)據(jù)流也應(yīng)及時(shí)關(guān)閉。例如,代碼

  dis.close();


關(guān)閉先前代碼建立的流dis。

【例】以數(shù)據(jù)流方法讀取網(wǎng)頁(yè)內(nèi)容的應(yīng)用程序。程序運(yùn)行時(shí),網(wǎng)址從文本框中讀取。

import java.net.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.javax.swing.*;public class Example10_2{  public static void main(String args[]){    new downNetFile();  }}class DownNetFile extends JFrame implements ActionListener{  JTextFileld infield = new JTextField(30);  JTextarea showArea = new JTextArea();  JButton b = new JButton(“download”);JPanel p = new JPanel();  DownNetFile(){    super(“read network text file application”);    Container con = this.getContentPane();    p.add(infield);p.add(b);    JScrollPane jsp = new JScrollPane(showArea);    b.addActionListener(this);    con.add(p,”North”);con.add(jsp,”Center”);    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    setSize(500,400);setVisible(true);  }  public void actionPerformed(ActionEvent e){    readByURL(infield.getText());  }  public void readByURL(String urlName){    try{      URL url = new URL(urlName);//由網(wǎng)址創(chuàng)建URL對(duì)象      URLConnection tc = url.openConnectin();//獲得URLConnection對(duì)象      tc.connect();//設(shè)置網(wǎng)絡(luò)連接      InptStreamReader in = new InputStreamReader(tc.getInputStream());      BufferedReader dis = new BufferedReader(in);//采用緩沖式輸入      String inline;      while((inline = dis.readLine())!=null){        showArea.append(inline +”/n”);      }      dis.close();//網(wǎng)上資源使用結(jié)束后,數(shù)據(jù)流及時(shí)關(guān)閉    }catch(MalformedURLException e){      e.printStackTrace();    }    catch(IOException e){e.printStacktrace();}    /*訪問網(wǎng)上資源可能產(chǎn)生MalformedURLException和IOException異常*/  }}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永修县| 藁城市| 乌拉特后旗| 珲春市| 卓尼县| 甘孜县| 扎囊县| 福鼎市| 普安县| 福泉市| 安庆市| 合肥市| 抚顺市| 乌兰县| 双峰县| 德化县| 任丘市| 册亨县| 静宁县| 云浮市| 德令哈市| 余干县| 海晏县| 临洮县| 乌拉特后旗| 光山县| 罗定市| 新乡市| 阿坝县| 姚安县| 荥阳市| 永定县| 邯郸市| 高雄县| 曲阜市| 图木舒克市| 祁阳县| 德钦县| 崇州市| 迭部县| 潮州市|