五、显示网络上其他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,可以让流览者得到
动态的信息。进一步,也可以在程序中对数据进行处理,并用图形
方式显示处理结果。例如将各时刻的数据绘制成曲线,
利用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,可以让流览者得到
动态的信息。进一步,也可以在程序中对数据进行处理,并用图形
方式显示处理结果。例如将各时刻的数据绘制成曲线,
闽公网安备 35060202000074号