服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java的网络功能与编程 二 (转)--建议放入精华区 ? 因我等新手爱看

    五、显示网络上其他html文档



    利用java提供的getappletcontext().showdocument(url)可以

显示其他结点的html文档,同前面的显示网络上其他结点的图象,

有两种格式,下面各举一例:

                      ●程序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 ");

      }   

   }

}



     六、读取网络上文件内容



     前述的网络功能只是显示或播放网络上结点的图象、 声音及

html文档,并没有对其内容进行处理。事实上,java还可读取网络

上文件的内容,并对其内容进行处理。

    读取网络上文件内容的步骤可如下:

    1. 创建一个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(),获得对应的inputstream类的对象

    如:

inputstream filecon = fileur.openstream();

    3. 将inputstream对象转化为datainputstream类的对象

    如:

    datainputstream filedata = new datainputstream(filecon);

    4. 读取内容

    如对前面的filedata,可用filedata.readline() 一行一行读

取内容,或用filedata.readchar一个字符一个字符读取内容。 对

读取到的内容,可由java applet进行各种处理, 并将处理结果用

各种方式显示出来。

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

文件内容的例子,为简洁起见,该例中只将文件的内容逐行读出,

并在文本区显示出来。

●程序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());

}

   }

}



    七、动态使用网络上资源

    在前面介绍的例子的基础上,可以动态地利用网络上的资源。

其方法是编制一个线程,每隔一定时间自动到相应结点读取最新的

内容。本文对线程的编制不再展开,读者可参考有关文章或直接套

用下面的例子。

    例如对上例中读取http://www.shu.edu.cn/~xyx/doc/manhua

.html文件内容的例子,加入线程后如下所示。该例子每隔5秒更新

一次数据。如果http://www.shu.edu.cn/~xyx/doc/manhua.html中

存放的是一些变化较快的信息如股市行情等,并有程序随时动态地

更新其内容,则在web中加入这种java applet,可以让流览者得到

动态的信息。进一步,也可以在程序中对数据进行处理,并用图形

方式显示处理结果。例如将各时刻的数据绘制成曲线,

扫描关注微信公众号