java网络编程2

显示网络上其他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());
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值