Java的网络功能与编程 3

转载 2004年11月02日 23:48:00

 七、动态使用网络上资源

  在前面介绍的例子的基础上,可以动态地利用网络上的资源。其方法是编制一个线程,每隔一定时间自动到相应结点读取最新的内容。本文对线程的编制不再展开,读者可参考有关文章或直接套用下面的例子。

  例如对上例中读取http://www.shu.edu.cn/~xyx/doc/manhua.html文件内容的例子,加入线程后如下所示。该例子每隔5秒更新一次数据。如果http://www.shu.edu.cn/~xyx/doc/manhua.html中存放的是一些变化较快的信息如股市行情等,并有程序随时动态地更新其内容,则在Web中加入这种Java Applet,可以让流览者得到动态的信息。进一步,也可以在程序中对数据进行处理,并用图形方式显示处理结果。例如将各时刻的数据绘制成曲线,流览者可以看到动态变化的曲线。

//程序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网络能力的限制

  出于安全性考虑,在用netscape浏览时,Java Applet 只能和其所在的主机建立连接,因此,前面的程序编译后大部分只能存放在http://www.shu.edu.cn/~xyx对应的主机上。存放到其他主机时需更改程序中的结点地址。否则浏览器将显示安全出错。

  但对显示网络上其他HTML文档没有此限制(如程序8、9),读者可以将程序编译后放到任意WWW服务器或FTP服务器,均可正常运行。

  此外,当浏览器从本地盘打开调用Java Applet的HTML文档时,也不受此限制。因此,本文所有的程序都可存放在本地盘编译,只要用netscape的File/Open File菜单打开,便可正确运行。

  对于另一种Java程序--Java Application,也无此限制,例如对于读取网络上文件内容的程序10,对应的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编译后,只需执行“java showfile2”便可以在屏幕上打印出http://www.shu.edu.cn/~xyx/doc/manhua.html 文件的内容
 七、动态使用网络上资源

  在前面介绍的例子的基础上,可以动态地利用网络上的资源。其方法是编制一个线程,每隔一定时间自动到相应结点读取最新的内容。本文对线程的编制不再展开,读者可参考有关文章或直接套用下面的例子。

  例如对上例中读取http://www.shu.edu.cn/~xyx/doc/manhua.html文件内容的例子,加入线程后如下所示。该例子每隔5秒更新一次数据。如果http://www.shu.edu.cn/~xyx/doc/manhua.html中存放的是一些变化较快的信息如股市行情等,并有程序随时动态地更新其内容,则在Web中加入这种Java Applet,可以让流览者得到动态的信息。进一步,也可以在程序中对数据进行处理,并用图形方式显示处理结果。例如将各时刻的数据绘制成曲线,流览者可以看到动态变化的曲线。

//程序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网络能力的限制

  出于安全性考虑,在用netscape浏览时,Java Applet 只能和其所在的主机建立连接,因此,前面的程序编译后大部分只能存放在http://www.shu.edu.cn/~xyx对应的主机上。存放到其他主机时需更改程序中的结点地址。否则浏览器将显示安全出错。

  但对显示网络上其他HTML文档没有此限制(如程序8、9),读者可以将程序编译后放到任意WWW服务器或FTP服务器,均可正常运行。

  此外,当浏览器从本地盘打开调用Java Applet的HTML文档时,也不受此限制。因此,本文所有的程序都可存放在本地盘编译,只要用netscape的File/Open File菜单打开,便可正确运行。

  对于另一种Java程序--Java Application,也无此限制,例如对于读取网络上文件内容的程序10,对应的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编译后,只需执行“java showfile2”便可以在屏幕上打印出http://www.shu.edu.cn/~xyx/doc/manhua.html 文件的内容

Java的网络功能与编程 一

  • zgqtxwd
  • zgqtxwd
  • 2008年04月25日 21:15
  • 76

Java的网络功能与编程1

文章来源:http://www.yesky.com/SoftChannel/72342371961929728/20030902/1725417.shtmlJava语言是Internet上新兴的编程语...
  • shaobotao
  • shaobotao
  • 2004年11月02日 23:43
  • 857

JAVA的网络功能与编程

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";...
  • java169
  • java169
  • 2008年05月23日 03:03
  • 139

java的网络功能与编程

  • zgqtxwd
  • zgqtxwd
  • 2008年04月25日 20:53
  • 108

Java的网络功能与编程2

   四、从网络上获取声音   Java从网络上获取声音文件并播放声音的编程方法有两类,一是利用Java提供的play(URL)及play(URL,String) 直接播放网络上的声音文件,另一类是通...
  • shaobotao
  • shaobotao
  • 2004年11月02日 23:46
  • 987

Java的网络功能与编程

着重介绍了利用Java的URL类实现从网络上获取声音、 图象、HTML文档及文件数据的编程方法。Java的网络功能很强大,除上面介绍的外,还可以利用URLconnection 类实现更广泛的网络功能,...
  • lenhan12345
  • lenhan12345
  • 2007年03月26日 14:59
  • 697

JAVA的网络功能与编程 二

    五、显示网络上其他HTML文档    利用Java提供的getAppletContext().showDocument(URL)可以显示其他结点的HTML文档,同前面的显示网络上其他结点的图象...
  • wxyxl
  • wxyxl
  • 2001年05月15日 16:35
  • 1545

java语言的网络功能与编程

Java语言是Internet上最热门的编程语言,本文针对Java的网络功能,对Java从网络上获取图象、声音、HTML文档及文本文件等编程方法作了初步的介绍,同时介绍了动态获取网络上资源的方法作了介...
  • sunshinegeorge
  • sunshinegeorge
  • 2007年10月31日 09:27
  • 336

JAVA语言的网络功能与编程

Java语言是Internet上最热门的编程语言,本文针对Java的网络功能,对Java从网络上获取图象、声音、HTML文档及文本文件等编程方法作了初步的介绍,同时介绍了动态获取网络上资源的方法作了介...
  • hqx2008
  • hqx2008
  • 2008年02月09日 07:10
  • 553

功能和性能的关系和区别&对性能问题的考虑

联系: 1.来自客户需求 区别: 1.功能是为用户满足什么样的需求,重点在于:“做什么”;性能是衡量软件好坏的重要因素,重点在:做的如何 2.功能需求中名词和动词多,描述软件主体和动作行为;性...
  • brbrbrbrbrbr
  • brbrbrbrbrbr
  • 2016年09月07日 23:59
  • 587
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java的网络功能与编程 3
举报原因:
原因补充:

(最多只允许输入30个字)