程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 詳解Java編程中同一資本定位符URL的相干應用

詳解Java編程中同一資本定位符URL的相干應用

編輯:關於JAVA

詳解Java編程中同一資本定位符URL的相干應用。本站提示廣大學習愛好者:(詳解Java編程中同一資本定位符URL的相干應用)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解Java編程中同一資本定位符URL的相干應用正文


同一資本定位符URL(Uniform Resource Locator)是www客戶機拜訪Internet時用來標識資本的名字和地址。超文本鏈路由同一資本定位符URL保持。URL的格局是:
    <METHOD>://<HOSTNAME:PORT>/<PATH>/<FILE>
個中:Method是傳輸協定:HOSTNAME是文檔和辦事器地點的Internet主機名(域名體系中DNS中的點地址);PORT是辦事端標語(可省略);PATH是途徑名,FILE是文件名。例如:
    http://www.weixueyuan.net/(http是協定名,www.weixueyuan.net是主機名)
    http://www.weixueyuan.net/view/6079.html (www.weixueyuan.net是主機名,view/6079.html是文件途徑和文件名)
URL類

Java.net包有URL類,一個URL對象可以表現一個收集資本。法式應用URL對象能完成Internet尋址、收集資本的定位銜接、在客戶機與辦事器之間直接拜訪等。URL類的結構辦法是

  URL(String s)


個中,s指出收集中的一個資本。

應用URL對象拜訪網上資本的辦法是:先創立URL對象,如以下代碼所示:

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

因創立URL對象能夠會發生MalformedURLException異常。所以,創立URL對象的代碼應湧現在try…catch語句塊中,以便能捕獲網址毛病異常。
URLConnection類

要吸收和發關信息還要用URLConnection類,法式取得一個URLConnection對象,相當於完成對指定URL的一個HTTP銜接。以下是表示取得URLConnection對象的代碼。

  URL mu = new URL(“http://www.sun.com/”);//先要創立一個URL對象
  URLConnection muC = mu.openConnection();//取得URLConnection對象


上述代碼解釋,先要創立一個URL對象,然後應用URL對象的openConnection()辦法,從體系取得一個URLConnection對象。法式有了URLConnection對象後,便可應用URLConnection類供給的以下辦法取得流對象和完成收集銜接:
getOutputStream():取得向長途主機發送信息的OutputStream流對象;
getInputStream():取得從長途主機獲得信息的InputStream流對象。有了收集銜接的輸出和輸入流,法式便可完成長途通訊;
connect():設置收集銜接。
信息的發送和吸收

發送和吸收信息要取得流對象,並由流對象創立輸出或輸入數據流對象。然後,便可以用流的辦法拜訪網上資本。

拜見上面例子法式中的辦法readByURL(),該辦法解釋已知網址讀取網頁內容的進程。辦法應用網址參數創立一個URL對象url,接著應用對象url的openConnect()辦法,取得URLConnection對象tc,用對象tc的connect()辦法樹立收集銜接,接著取得收集銜接的InputStreamReader類對象in,將對象in,轉化成為BufferedRead對象dis,改成緩沖式輸出。最初,用對象dis的readLine()辦法完成讀取收集文本數據。

好像當地數據流一樣,網上資本應用停止後,數據流也應實時封閉。例如,代碼

  dis.close();


封閉先前代碼樹立的流dis。

【例】以數據流辦法讀取網頁內容的運用法式。法式運轉時,網址從文本框中讀取。

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);//由網址創立URL對象
      URLConnection tc = url.openConnectin();//取得URLConnection對象
      tc.connect();//設置收集銜接
      InptStreamReader in = new InputStreamReader(tc.getInputStream());
      BufferedReader dis = new BufferedReader(in);//采取緩沖式輸出
      String inline;
      while((inline = dis.readLine())!=null){
        showArea.append(inline +”\n”);
      }
      dis.close();//網上資本應用停止後,數據流實時封閉
    }catch(MalformedURLException e){
      e.printStackTrace();
    }
    catch(IOException e){e.printStacktrace();}
    /*拜訪網上資本能夠發生MalformedURLException和IOException異常*/
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved