欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2015年10月10日 15:12:05   投稿:goldensun  
這篇文章主要介紹了Java編程中統(tǒng)一資源定位符URL的相關(guān)使用,是Java網(wǎng)絡(luò)編程中的基礎(chǔ)知識,需要的朋友可以參考下

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

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

  URL(String s)


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

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

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

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

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

  URL mu = new URL(“http://www.sun.com/”);//先要創(chuàng)建一個URL對象
  URLConnection muC = mu.openConnection();//獲得URLConnection對象


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

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

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

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

  dis.close();


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

【例】以數(shù)據(jù)流方法讀取網(wǎng)頁內(nèi)容的應用程序。程序運行時,網(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對象
      URLConnection tc = url.openConnectin();//獲得URLConnection對象
      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ù)流及時關(guān)閉
    }catch(MalformedURLException e){
      e.printStackTrace();
    }
    catch(IOException e){e.printStacktrace();}
    /*訪問網(wǎng)上資源可能產(chǎn)生MalformedURLException和IOException異常*/
  }
}

相關(guān)文章

  • java開發(fā)SpringBoot參數(shù)校驗過程示例教程

    java開發(fā)SpringBoot參數(shù)校驗過程示例教程

    這篇文章主要為大家介紹了SpringBoot如何進行參數(shù)校驗的過程示例詳解教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • Spring實戰(zhàn)之方法級別緩存用法示例

    Spring實戰(zhàn)之方法級別緩存用法示例

    這篇文章主要介紹了Spring實戰(zhàn)之方法級別緩存用法,結(jié)合實例形式分析了spring方法級別緩存配置、屬性文件、領(lǐng)域模型及相關(guān)使用技巧,需要的朋友可以參考下
    2020-01-01
  • springboot 增加過濾器方法操作示例

    springboot 增加過濾器方法操作示例

    這篇文章主要介紹了springboot 增加過濾器方法操作,結(jié)合實例形式分析了springboot過濾器配置、加載等相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12
  • springboot+vue實現(xiàn)七牛云頭像的上傳

    springboot+vue實現(xiàn)七牛云頭像的上傳

    本文將介紹如何在Spring Boot項目中利用七牛云進行圖片上傳并將圖片存儲在云存儲中,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • Java使用excel工具類導出對象功能示例

    Java使用excel工具類導出對象功能示例

    這篇文章主要介紹了Java使用excel工具類導出對象功能,結(jié)合實例形式分析了java創(chuàng)建及導出Excel數(shù)據(jù)的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • sentinel整合ribbon與fallback流程分步講解

    sentinel整合ribbon與fallback流程分步講解

    這篇文章主要介紹了sentinel整合ribbon與fallback分步流程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 超詳細解釋Java反射

    超詳細解釋Java反射

    本文非常詳細的講解了java反射具體的內(nèi)容以及使用,java反射在現(xiàn)今的使用中很頻繁,希望此文可以幫大家解答疑惑,可以幫助大家理解
    2021-11-11
  • JAVA實現(xiàn)漢字轉(zhuǎn)拼音功能代碼實例

    JAVA實現(xiàn)漢字轉(zhuǎn)拼音功能代碼實例

    這篇文章主要介紹了JAVA實現(xiàn)漢字轉(zhuǎn)拼音功能代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Failed to execute goal org...的解決辦法

    Failed to execute goal org...的解決辦法

    這篇文章主要介紹了Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1的解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評論