<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-71  評論-4  文章-0  trackbacks-0
    Java的 網(wǎng)絡(luò) 功能與編程
    徐迎曉
    (上海大學(xué)計(jì)算中心25#)
    ???????????????????????
    摘??要:Java語言是Internet上最熱門的編程語言,本文針對

    ???????Java的
    網(wǎng)絡(luò) 功能,對Java從 網(wǎng)絡(luò) 上獲取圖象、聲音、

    ???????HTML文檔及文本文件等編程方法作了初步的介紹,同

    ???????時(shí)介紹了動(dòng)態(tài)獲取
    網(wǎng)絡(luò) 上資源的方法作了介紹。文中

    ???????提供了大量簡明易懂的實(shí)例。

    關(guān)鍵詞:Java;Internet;
    網(wǎng)絡(luò)



    ????Java語言是Internet上新興的編程語言,對Java的特性以及基

    本的編程方法已有很多文章作過介紹。但是,廣大Java愛好者更希望

    了解Java更深一步的編程方法,本文就Java的
    網(wǎng)絡(luò) 功能及其編程方法

    作一初步的介紹。

    ????為了方便初次接觸Java的讀者,本文先就Java編程的一些常識

    作簡單介紹。



    ????一、Java編程簡介



    ????1. 編程環(huán)境:



    ????對于大部分讀者,以下的配置是較為經(jīng)濟(jì)的一種選擇:

    操作系統(tǒng) Win95

    編譯軟件 JDK1.01

    瀏覽軟件 Netscape2.0以上(32位)



    ????2. 編程方法:



    ????先用文本編輯器如Edit、NotePad等輸入Java程序,以.java為

    文件名后綴存盤。

    ????再執(zhí)行命令行:“Javac 文件名”來編譯Java程序。編譯后生成

    后綴為.class的字節(jié)碼文件。

    ????最后,如果是Java Applitcation,則執(zhí)行命令行:“Java 字

    節(jié)碼文件名”來運(yùn)行Java程序。

    ????如果是Java Applet,則用文本編輯器輸入調(diào)用該Java Applet

    的HTML 文檔, 以 .htm 為文件名后綴存盤。 再執(zhí)行命令行:

    “appletviewer HTML文件名”來運(yùn)行Java Applet。或用Netscape

    打開該HTML文檔。



    ????3. 關(guān)于本文中程序的說明



    ????為了使程序能夠最簡潔地體現(xiàn)其所代表的編程方法,本文中的程

    序一般采用最簡單的形式,省略了線程等內(nèi)容。因此,本文的程序不

    是“好”的程序,但最容易為初學(xué)者理解。

    ????本文的所有程序經(jīng)編譯后,生成的字節(jié)碼文件及對應(yīng)的HTML文檔

    已上載到http://www.shu.edu.cn/~xyx/test/jvnet, 均可正確

    運(yùn)行。連入Internet的讀者可用瀏覽器打開該地址,查看運(yùn)行效果。

    ????連入Internet的讀者也可以在本地硬盤輸入并編譯本文的程序,

    用Netscape的File/Open File菜單打開HTML文檔,體會編程方法并

    查看運(yùn)行效果。如果讀者想將Java Applet 放到自己的主機(jī)上或其他

    ftp服務(wù)器上,在Netscape中用http協(xié)議或ftp協(xié)議調(diào)用,出于安全

    性限制,應(yīng)作如下修改:

    ???如果讀者在某個(gè)WWW主機(jī)上有帳號,可以做個(gè)人Homepage(一般

    在用戶根目錄創(chuàng)建WWW或public_html目錄即可,Homepage的地址為

    http://HostName/~個(gè)人帳號),可將本文程序中對應(yīng)的

    http://www.shu.edu.cn/~xyx/部分修改為讀者自己的Web結(jié)點(diǎn)地址,

    然后將編譯后生成的字節(jié)碼文件及對應(yīng)的HTML文檔上載到自己的結(jié)點(diǎn)上。

    ????如果讀者的計(jì)算機(jī)連入了Internet,也可以找一個(gè)可以上載的

    ftp結(jié)點(diǎn),如:ftp://ftp.shnet.edu.cn/incoming,將本文程序中

    對應(yīng)的http://www.shu.edu.cn/~xyx/部分修改為ftp結(jié)點(diǎn)的地址,

    將編譯后生成的字節(jié)碼文件及對應(yīng)的HTML文檔上載到該結(jié)點(diǎn)上,以查

    看運(yùn)行效果。

    ????如果讀者的計(jì)算機(jī)沒有聯(lián)網(wǎng),也可以在單機(jī)上運(yùn)行Web 服務(wù)軟

    件如Webstar for Win95,將本文程序中對應(yīng)的http: //www. shu

    .edu.cn/~xyx/部分修改為“http://本地IP地址”的形式,來模擬

    網(wǎng)絡(luò) 編程。



    ????二、Java
    網(wǎng)絡(luò) 功能及獲取 網(wǎng)絡(luò) 上資源的一般步驟



    ????Java程序可以獲取
    網(wǎng)絡(luò) 上結(jié)點(diǎn)的圖象、聲音、HTML文檔及文本

    等資源,并可以對獲得的資源進(jìn)行處理。例如Java程序可以每隔一

    定時(shí)間讀取某結(jié)點(diǎn)提供的最新數(shù)據(jù),并以圖表的形式顯示出來。

    ????在編程處理上,一般先生成一個(gè)URL類型的對象,然后用 Java

    中相應(yīng)的方法(method)獲取該對象所代表的資源。下面分別介紹

    Java
    網(wǎng)絡(luò) 功能的幾個(gè)例子,并由此介紹幾種不同的編程方法。



    ????三、從
    網(wǎng)絡(luò) 上獲取圖象



    ????Java Applet可以直接從
    網(wǎng)絡(luò) 上結(jié)點(diǎn)獲取圖象并顯示出來。 為

    了了解其編程方法和從本地顯示圖象的編程有何不同,我們先不考慮

    網(wǎng)絡(luò) 功能,來看一個(gè)簡單的圖象顯示的例子:



    ●程序1

    import java.applet.*;

    import java.awt.*;

    public class imag0 extends Applet{

    ??Image image;

    ??public void init() {

    image=getImage(getDocumentBase(),"test.gif");

    ??}

    ??public void paint(Graphics g) {

    ?????g.drawImage(image, 0, 0,this);

    ??}

    }



    ????這是一個(gè)最簡單的獲取并顯示圖象的例子, 在該例中, 先用

    getImage(getDocumentBase(),圖象文件名)從HTML文檔所在位置調(diào)

    用圖象test.gif,并由此生成一個(gè)Image類型的對象image, 然后用

    drawImage(image, 0, 0,this)在屏幕上將圖象顯示出來。

    ????如果想從
    網(wǎng)絡(luò) 上其他結(jié)點(diǎn)獲取圖象,關(guān)鍵是創(chuàng)建對應(yīng)于 網(wǎng)絡(luò)

    其他結(jié)點(diǎn)的Image類型的對象,一旦獲得Image類型的對象獲得了,

    便可以對其進(jìn)行任何可能的圖象操作。

    ????Java提供了如下方法可以創(chuàng)建對應(yīng)于其他結(jié)點(diǎn)的圖象:

    getImage(new URL(字符串))

    ????其使用格式可有兩種:



    ????String??url = "結(jié)點(diǎn)URL";

    ????Image image;

    ????try {

    ??????image = getImage(new URL(url));

    ????}

    catch(Exception e){

    System.out.println("Can't open the URL ");

    ????}







    URL imgur=null;

    Image image;

    try {

    ????????????imgur=new URL("結(jié)點(diǎn)URL ");

    ?????}

    ?????catch (MalformedURLException e) {

    ????????????System.out.println("Can't open the URL ");

    ?????}

    ?????image=getImage(imgur);



    ????前一種格式用“new URL(url)”生成 URL 對象, 并直接作為

    getImage的參數(shù),后一種格式先用“new URL(url)”生成一個(gè) URL

    對象,再傳給getImage。兩種格式本質(zhì)上是一樣的。兩種格式中,

    生成URL對象的部分都包含在



    try{

    獲取URL對象

    ???????????????????????????}

    catch (MalformedURLException e) {

    出錯(cuò)提示

    ???????????????????????????}

    中。

    ????例如要調(diào)用http://www.shu.edu.cn/~xyx/img/shnet.jpg結(jié)點(diǎn)

    的圖象,第一種格式完整的程序如下:

    ●程序2

    import java.applet.*;

    import java.net.*;

    import java.awt.*;

    public class imag extends Applet{

    ??Image image;

    ??public void init() {

    ????String??url = "http://www.shu.edu.cn/~xyx/img/shnet.jpg";

    ????try {

    ??????image = getImage(new URL(url));

    ????} catch(Exception e){}

    ??}



    ??public void paint(Graphics g) {

    ?????g.drawImage(image, 0, 0,this);

    ??}

    }



    ????第二種格式完整的程序如下:

    ●程序3

    import java.applet.*;

    import java.net.*;

    import java.awt.*;

    public class imag2 extends Applet{

    ??Image image;

    ??URL imgur=null;

    ??public void init() {

    ?????try {

    ??????imgur=new URL("http://www.shu.edu.cn/~xyx/img/shnet.jpg");

    ?????????}

    ????????catch (MalformedURLException e) {



    ????????????????System.out.println("Can't open the URL ");

    ??????}

    ??????image=getImage(imgur);

    ??}

    ??public void paint(Graphics g) {

    ?????g.drawImage(image, 0, 0,this);

    ??}

    }



    ????將上述兩個(gè)程序分別以imag.java和imag2. java 存盤, 執(zhí)行

    javac imag.java和javac imag2.java,將得到編譯后生成的imag

    .class和imag2.class,最后創(chuàng)建調(diào)用這兩個(gè)Java Applet的HTML文

    檔,如imag.class對應(yīng)的HTML文檔可如下:

    < html >

    < head >

    < title >Example < /title >

    < /head >

    < center >

    < applet code=imag.class width=550 height=250 >

    < /applet >

    < /html >



    ????將該HTML文檔存入test.html文件,用Netscape打開, 如果你

    的計(jì)算機(jī)連入了Internet,便可以看到Java Applet 所顯示的從網(wǎng)

    絡(luò)上獲得的圖象了。(對于本文中其他不同的Java Applet, 對應(yīng)

    的HTML文檔只要修改其中相應(yīng)的“code=imag.class”即可。)



    ????四、從
    網(wǎng)絡(luò) 上獲取聲音



    ????Java從
    網(wǎng)絡(luò) 上獲取聲音文件并播放聲音的編程方法有兩類,一

    是利用Java提供的play(URL)及play(URL,String) 直接播放
    網(wǎng)絡(luò)

    上的聲音文件,另一類是通過getAudioClip(URL)或getAudioClip

    (URL,String)先從
    網(wǎng)絡(luò) 上獲取聲音文件,并生成AudioClip 類型的

    對象,然后對該對象進(jìn)行操作。

    ????前者的使用格式是:



    String??Audur = "結(jié)點(diǎn)URL";

    ????????try {

    ?????play(new URL(Audur));????

    ????????} catch(Exception e){}







    String??Audur = "結(jié)點(diǎn)URL";

    ????????try {

    ???????????play(new URL(Audur),聲音文件名);

    ????????} catch(Exception e){}

    ????后者使用的格式是:

    String Audur = "結(jié)點(diǎn)URL";

    AudioClip??loopClip;

    ????try {

    ???????????loopClip = getAudioClip(new URL(Audur));

    ????????}

    catch(Exception e){

    System.out.println("Can't open the URL ");

    ??????????????????}







    String Audur = "結(jié)點(diǎn)URL";

    ????AudioClip??loopClip;

    ????try {

    ???????????loopClip = getAudioClip(new URL(Audur) ,聲音文件名);

    ????????????????????}

    catch(Exception e){

    System.out.println("Can't open the URL ");

    }



    ????上面的四種格式都是將生成URL對象部分--“new URL(url)”

    直接作為play或getAudioClip的參數(shù);和前面處理圖象的例子一樣,

    也可以先用“new URL(url)”獲取一個(gè)URL對象, 再傳給 play 或

    getAudioClip。如對第一種play(URL)的格式, 也可采用如下的編

    程格式:

    URL??Audur =null;

    ????????try {

    ???Audur=new URL("結(jié)點(diǎn)URL ");

    ????????} catch(Exception e){

    System.out.println("Can't open the URL ");

    ?????}

    ????play(Audur);

    ????下面對前述四種從
    網(wǎng)絡(luò) 上獲取并播放聲音文件的格式各舉一簡單的例子,

    以作編程時(shí)參考:

    ?????????????????????????●程序4???格式一

    import java.applet.*;

    import java.awt.*;

    import java.net.*;

    public class sound1 extends Applet



    {???AudioClip??loopClip;

    ????public void paint(Graphics g) {

    ????String??Audur = "http://www.shu.edu.cn/~xyx/java/Animator/audio/bark.au";

    ????????try {

    ?????play(new URL(Audur));????

    ????????} catch(Exception e){}

    ????}

    }



    ?????????????????????????????●程序5???格式二

    import java.applet.*;

    import java.awt.*;

    import java.net.*;

    public class sound2 extends Applet

    {???AudioClip??loopClip;

    ?????public void paint(Graphics g) {

    ????????String??Audur = "http://www.shu.edu.cn/~xyx/java/Animator/audio/";

    ????????try {

    ???????????play(new URL(Audur),"bark.au");

    ????????} catch(Exception e){}

    ????}

    }



    ?????????????????????????????●程序6???格式三

    import java.applet.*;

    import java.awt.*;

    import java.net.*;

    public class sound extends Applet{

    ???AudioClip??loopClip;

    ???public void init() {

    ?????String??Audur = "http://www.shu.edu.cn/~xyx/java/Animator/audio/bark.au";

    ????????try {

    ???????????loopClip = getAudioClip(new URL(Audur));

    ????????} catch(Exception e){}

    ????}



    ???public void paint(Graphics g){

    ????????loopClip.loop();

    ???}

    }



    ●程序7??格式四

    import java.applet.*;

    import java.awt.*;

    import java.net.*;

    public class sound0 extends Applet{

    ???AudioClip??loopClip;

    ???URL auur;

    ???public void init() {

    ?????try {

    ????????????auur=new URL("http://www.shu.edu.cn/~xyx/java/Animator/audio/");

    ??????}

    ??????catch (MalformedURLException e) {

    ????????????????System.out.println("Can't open the URL ");

    ??????}

    ??????loopClip = getAudioClip(auur,"bark.au");



    ????}



    ???public void paint(Graphics g){

    ????????loopClip.loop();

    ???}

    }



    ????五、顯示網(wǎng)絡(luò)上其他HTML文檔



    ????利用Java提供的getAppletContext().showDocument(URL)可以

    顯示其他結(jié)點(diǎn)的HTML文檔,同前面的顯示網(wǎng)絡(luò)上其他結(jié)點(diǎn)的圖象,

    有兩種格式,下面各舉一例:

    ??????????????????????●程序8???格式一

    import java.applet.*;

    import java.awt.*;

    import java.net.*;

    public class showdoc extends Applet

    {????

    ????URL docur= null;

    ????public void paint(Graphics g) {

    ??????try {

    ????????????docur=new URL("http://www.shu.edu.cn/~xyx/doc/manhua.html");????????

    ??????}

    ??????catch (MalformedURLException e) {

    ????????????????System.out.println("Can't open the URL ");

    ??????}

    ??????if (docur != null) {

    ????????????????????getAppletContext().showDocument(docur,"_blank");

    ??????}???

    ????}

    }



    ??????????????????????????●程序9 格式二

    import java.applet.*;

    import java.awt.*;

    import java.net.*;

    public class showdoc2 extends Applet

    {????

    ???URL docur= null;

    ???public void paint(Graphics g) {

    ??????try {

    getAppletContext().showDocument(new URL("http://www.shu.edu.cn/

    ~xyx/doc/manhua.html"));???????

    ??????}

    ??????catch (MalformedURLException e) {

    ????????????????System.out.println("Can't open the URL ");

    ??????}???

    ???}

    }



    ?????六、讀取網(wǎng)絡(luò)上文件內(nèi)容



    ?????前述的網(wǎng)絡(luò)功能只是顯示或播放網(wǎng)絡(luò)上結(jié)點(diǎn)的圖象、 聲音及

    HTML文檔,并沒有對其內(nèi)容進(jìn)行處理。事實(shí)上,Java還可讀取網(wǎng)絡(luò)

    上文件的內(nèi)容,并對其內(nèi)容進(jìn)行處理。

    ????讀取網(wǎng)絡(luò)上文件內(nèi)容的步驟可如下:

    ????1. 創(chuàng)建一個(gè)URL類型的對象

    ????如:

    ????String url = "ftp://202.120.127.218/incoming/test/readtxt.html";

    URL fileur;

    ????????try {

    fileur = new URL(url); }

    ????????catch ( MalformedURLException e) {

    ???????????????System.out.println("Can't get URL: " );

    ????????}

    ????2. 利用URL類的openStream(),獲得對應(yīng)的InputStream類的對象

    ????如:

    InputStream filecon = fileur.openStream();

    ????3. 將InputStream對象轉(zhuǎn)化為DataInputStream類的對象

    ????如:

    ????DataInputStream filedata = new DataInputStream(filecon);

    ????4. 讀取內(nèi)容

    ????如對前面的filedata,可用filedata.readLine() 一行一行讀

    取內(nèi)容,或用filedata.readchar一個(gè)字符一個(gè)字符讀取內(nèi)容。 對

    讀取到的內(nèi)容,可由Java Applet進(jìn)行各種處理, 并將處理結(jié)果用

    各種方式顯示出來。

    ????下面的例子是讀取 http://www.shu.edu.cn/~xyx/doc/manhua.html

    文件內(nèi)容的例子,為簡潔起見,該例中只將文件的內(nèi)容逐行讀出,

    并在文本區(qū)顯示出來。

    ●程序10

    import java.io.*;

    import java.net.*;

    import java.awt.*;

    import java.applet.*;

    public class showfile extends Applet{

    ?????URL fileur;

    ?????TextArea showarea = new TextArea("Please wait a while for get

    text",10,70);

    ?????public void init() {

    ????????String url = "http://www.shu.edu.cn/~xyx/doc/manhua.html";

    ????????try { fileur = new URL(url); }

    ????????catch ( MalformedURLException e) {

    ???????????????System.out.println("Can't get URL: " );

    ????????}

    ????????add(showarea);

    }



    ????public void paint(Graphics g) {

    ????????InputStream filecon = null;

    ????????DataInputStream filedata = null;

    ????????String fileline;

    try {

    ????????????????filecon = fileur.openStream();

    ????????????????filedata = new DataInputStream(filecon);

    ????????????????while ((fileline = filedata.readLine()) != null) {

    ????????????????????????showarea.appendText(fileline+"\n");

    }

    }

    catch (IOException e) {

    ????????????????System.out.println("Error in I/O:" + e.getMessage());

    }

    ???}

    }



    ????七、動(dòng)態(tài)使用網(wǎng)絡(luò)上資源

    ????在前面介紹的例子的基礎(chǔ)上,可以動(dòng)態(tài)地利用網(wǎng)絡(luò)上的資源。

    其方法是編制一個(gè)線程,每隔一定時(shí)間自動(dòng)到相應(yīng)結(jié)點(diǎn)讀取最新的

    內(nèi)容。本文對線程的編制不再展開,讀者可參考有關(guān)文章或直接套

    用下面的例子。

    ????例如對上例中讀取http://www.shu.edu.cn/~xyx/doc/manhua

    .html文件內(nèi)容的例子,加入線程后如下所示。該例子每隔5秒更新

    一次數(shù)據(jù)。如果http://www.shu.edu.cn/~xyx/doc/manhua.html中

    存放的是一些變化較快的信息如股市行情等,并有程序隨時(shí)動(dòng)態(tài)地

    更新其內(nèi)容,則在Web中加入這種Java Applet,可以讓流覽者得到

    動(dòng)態(tài)的信息。進(jìn)一步,也可以在程序中對數(shù)據(jù)進(jìn)行處理,并用圖形

    方式顯示處理結(jié)果。例如將各時(shí)刻的數(shù)據(jù)繪制成曲線,流覽者可以

    看到動(dòng)態(tài)變化的曲線。

    //程序11

    import java.io.*;

    import java.net.*;

    import java.awt.*;

    import java.applet.*;

    public class dynashow extends java.applet.Applet

    ????implements Runnable {

    ????Thread dthread;

    ????URL fileur;

    TextArea showarea = new TextArea("Wait for a while...",10,70);

    ?????public void init() {

    ????????String url = " http://www.shu.edu.cn/~xyx/doc/manhua.html ";

    ????????try { fileur = new URL(url); }

    ????????catch ( MalformedURLException e) {

    ???????????????System.out.println("Can't get URL: " );

    ????????}

    ????????add(showarea);

    ?????}



    ?????public void start() {

    ????????if (dthread == null)

    ????????{

    ????????????????dthread = new Thread(this);

    ????????????????dthread.start();

    ????????}

    ????}

    ????public void stop() {

    ????????if (dthread != null) {

    ????????????????dthread.stop();

    ????????????????dthread = null;

    ????????}

    ????}



    ????public void run() {

    ????????InputStream filecon = null;

    ????????DataInputStream filedata = null;

    ????????String fileline;

    ????????while(true){

    ????????????try {

    ????????????????filecon = fileur.openStream();

    ????????????????filedata = new DataInputStream(filecon);

    ????????????????while ((fileline = filedata.readLine()) != null) {

    ????????????????????????showarea.appendText(fileline+"\n");

    ????????}

    ????????????}

    ???????????catch (IOException e) {

    ????????????????System.out.println("Error in I/O:" + e.getMessage());

    ???????????}

    ???????????try{

    ????????????????dthread.sleep(5000);

    ???????????}

    ???????????catch (InterruptedException e){}

    ???????????repaint();

    ???????}

    ?????}

    }



    ????八、Java網(wǎng)絡(luò)能力的限制



    ????出于安全性考慮,在用netscape瀏覽時(shí),Java Applet 只能和

    其所在的主機(jī)建立連接,因此,前面的程序編譯后大部分只能存放

    在http://www.shu.edu.cn/~xyx對應(yīng)的主機(jī)上。存放到其他主機(jī)時(shí)

    需更改程序中的結(jié)點(diǎn)地址。否則瀏覽器將顯示安全出錯(cuò)。

    ????但對顯示網(wǎng)絡(luò)上其他HTML文檔沒有此限制(如程序8、9),讀

    者可以將程序編譯后放到任意WWW服務(wù)器或FTP服務(wù)器,均可正常運(yùn)

    行。

    ????此外,當(dāng)瀏覽器從本地盤打開調(diào)用Java Applet的HTML文檔時(shí),

    也不受此限制。因此,本文所有的程序都可存放在本地盤編譯,只

    要用netscape的File/Open File菜單打開,便可正確運(yùn)行。

    ????對于另一種Java程序--Java Application,也無此限制,例

    如對于讀取網(wǎng)絡(luò)上文件內(nèi)容的程序10,對應(yīng)的Java Application可

    作如下編程:



    ●程序11

    import java.io.*;

    import java.net.*;

    import java.awt.*;

    class showfile2 {

    ?????public static void main(String args[]){

    ????????InputStream filecon = null;

    ????????DataInputStream filedata = null;

    ????????String fileline;

    ????????String url = "http://www.shu.edu.cn/~xyx/doc/manhua.html";

    ????????URL fileur;

    ????????try {

    ???fileur = new URL(url);

    ????????????????filecon = fileur.openStream();

    ????????????????filedata = new DataInputStream(filecon);

    ????????????????while ((fileline = filedata.readLine()) != null) {

    System.out.println(fileline+"\n");

    }

    }

    catch (IOException e) {

    ????????????????System.out.println("Error in I/O:" + e.getMessage());

    }

    ??}

    }

    ????將其以showfile2.java存盤,用javac showfile2.java編譯后,

    只需執(zhí)行“java showfile2”便可以在屏幕上打印出

    http://www.shu.edu.cn/~xyx/doc/manhua.html 文件的內(nèi)容。



    ????九、創(chuàng)建URL對象的方法



    ????在前面的例子中我們統(tǒng)一使用new URL(url字符串)的形式創(chuàng)建

    URL對象。其實(shí),Java提供了四種創(chuàng)建URL對象的形式:

    ????1.new URL(url字符串)????本文中的程序均采用此種格式,如:

    new??URL("http://www.shu.edu.cn/~xyx/doc/manhua.html")

    ????2.new URL(協(xié)議,主機(jī)名,文件名或路徑)????如程序2中的

    String??url = "http://www.shu.edu.cn/~xyx/img/shnet.jpg";

    image = getImage(new URL(url));部分可改為:

    image = getImage(new URL("http","www.shu.edu.cn","/~xyx /img/shnet.jpg"));

    ????3.new URL(協(xié)議,主機(jī)名,端口號,文件名或路徑)1

    如:new URL("http","www.shu.edu.cn",80, "/~xyx/doc/manhua.html")

    ????4.new URL(基準(zhǔn)url,文件名或路徑)



    ????十、實(shí)現(xiàn)網(wǎng)絡(luò)功能的其他方法



    ????以上著重介紹了利用Java的URL類實(shí)現(xiàn)從網(wǎng)絡(luò)上獲取聲音、 圖

    象、HTML文檔及文件數(shù)據(jù)的編程方法。Java的網(wǎng)絡(luò)功能很強(qiáng)大,除

    上面介紹的外,還可以利用URLconnection 類實(shí)現(xiàn)更廣泛的網(wǎng)絡(luò)

    能,如向WWW 服務(wù)器上的 CGI 程序發(fā)送信息等; 通過 Socket 及

    ServerSocket類,可以自己編寫客戶軟件及服務(wù)軟件,并可以自己

    設(shè)計(jì)通訊協(xié)議。



    〖參考文獻(xiàn)〗

    Laura Lemay,Charles L. Perkins??"Teach Yourself JAVA in 21 Days"

    摘自《Internet世界》
    posted on 2006-03-20 12:28 zjw_albert 閱讀(208) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品国产福利片| 亚洲熟妇AV乱码在线观看| 亚洲免费视频网址| 亚洲高清毛片一区二区| 精品国产亚洲男女在线线电影| a毛片免费在线观看| 亚洲videos| 中文字幕亚洲天堂| 久久www免费人成看片| 色妞www精品视频免费看| 亚洲人成网站在线播放影院在线| 成人毛片免费网站| 久久99免费视频| 亚洲av日韩综合一区二区三区| 国产精品国产亚洲精品看不卡| 日韩电影免费在线观看视频| 免费一区二区三区| 春暖花开亚洲性无区一区二区| 91亚洲va在线天线va天堂va国产 | 国产成人无码综合亚洲日韩| 免费国产黄线在线观看| 国产在线观看免费av站| 亚洲国产一区二区三区在线观看| 亚洲AV无码国产精品麻豆天美| 国产成人精品高清免费| 2015日韩永久免费视频播放| 精品人妻系列无码人妻免费视频 | 久久综合久久综合亚洲| 亚洲a在线视频视频| 亚洲国产一级在线观看| 四虎免费在线观看| 亚洲高清视频免费| 免费看成人AA片无码视频吃奶| 精品国产日韩亚洲一区91| 亚洲另类图片另类电影| 亚洲va久久久噜噜噜久久天堂| 免费又黄又硬又爽大片| 浮力影院第一页小视频国产在线观看免费| 99视频在线免费| 日韩a级无码免费视频| 国产男女爽爽爽免费视频|