当前位置:Linux教程 - Linux - Java的网络程序设计

Java的网络程序设计



        


    anywhereyoustart.net 伍威


      Java语言是Internet上最热门的编程语言,本文针对Java的网络功能,对Java从网络上获取图象、声音、HTML文档及文本文件等编程方法作了初步的介绍。文中提供了简明易懂的实例。
      Java语言的特性以及基本的编程方法已有很多文章作过介绍。但是,广大Java爱好者更希望了解Java更深一步的编程方法,本文就Java的网络功能及其编程方法作一初步的介绍。

    一、 Java编程简介

    1. 编程环境:

    操作系统 RedHat7.0

    编译软件 JDK1.2.2

    浏览软件 Netscape6.0

    2. 编程方法:

    先用文本编辑器如gedit等输入Java程序,以.java为文件名后缀存盘。再执行命令行:“Javac 文件名”来编译Java程序。编译后生成后缀为.class的字节码文件。最后,如果是Java Applitcation,则执行命令行:“Java 字节码文件名”来运行Java程序。如果是Java Applet,则用文本编辑器输入调用该Java Applet的HTML 文档, 以 .htm 为文件名后缀存盘。 再执行命令行:“appletviewer HTML文件名”来运行Java Applet。或用Netscape打开该HTML文档。

    3.统一资源定位器(URL):
    · URL(String, String, int, String)
    构造方法,创建一个包含协议类型、主机名、
    端口号和路径的URL对象
    · URL(String, String, String)
    构造方法,创建一个包含协议类型、主机名和路径
    的URL对象,其中端口号为缺省值
    · URL(String)
    构造方法,创建一个URL对象,参数将协议
    、主机名、端口号和路径组合起来
    · URL(URL,String)
    构造方法,根据给定URL对象与相对路径创建一个新的URL对象
    · Object getContent( )
    检索URL内容信息,并返回给对象
    · InputStream openStream( )
    从资源处返回一个输入流
    · URLConnection openConnection( )
    生成一个URLConnection对象

    URLConnection类:
    · protected URLConnection(URL)
    构造方法,创建一个针对指定URL对象的URLConnection类
    · Object getContent( )
    返回URL对象所对应的内容
    · InputStream getInputStream( )
    获取从对象中读取的字节流
    · Protected static String guessContentTypeFromStream(InputStream is)
    根据输入流猜测内容的类型

    二、Java网络功能及获取网络上资源的一般步骤
    Java程序可以获取网络上结点的图象、声音、HTML文档及文本等资源。例如Java程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。在编程处理上,一般先生成一个URL类型的对象,然后用 Java中相应的方法(method)获取该对象所代表的资源。下面分别介绍Java网络功能的几个例子。

    三、从网络上获取图象
    Java Applet可以直接从网络上结点获取图象并显示出来。现在来看一个简单的图象显示的例子:

    import java.applet.*;
    import java.net.*;
    import java.awt.*;
    public class imag extends Applet{
    Image image;

    public void init() {
    String url = \"http:/.anywhereyoustart/pic.jpg\"; //赋以URL:http://anywhereyoustart/pic.jpg

    try {
    image = getImage(new URL(url)); //从Web网上获取JPG图象
    } catch(Exception e){}
    } public void paint(Graphics g) {
    g.drawImage(image, 0, 0,this);    //把网络中指定的URL地址载入图象

    }

    }

    将上述程序以imag.java存盘, 执行javac imag.java,将得到编译后生成的imag.class,最后创建调用这两个Java Applet的HTML文档,如imag.class对应的HTML文档可如下:

    < html >
    < head >
    < title >imag< /title >
    < /head >
    < center >
    < applet code=imag.class width=550 height=250 >
    < /applet >
    < /html >

    将该HTML文档存入imag.html文件,用Netscape打开, 如果你的计算机连入了Internet,便可以看到Java Applet 所显示的从网络上获得的图象了。

    四、从网络上获取声音
    Java从网络上获取声音文件并播放声音的编程方法有两类,一是利用Java提供的play(URL)及play(URL,String) 直接播放网络上的声音文件,另一类是通过getAudioClip(URL)或getAudioClip(URL,String)先从网络上获取声音文件,并生成AudioClip 类型的对象,然后对该对象进行操作。

    import java.applet.*;
    import java.awt.*;
    import java.net.*;
    public class sound1 extends Applet
    { AudioClip loopClip;
    public void paint(Graphics g) {
    String Audur = \"http://anywhereyoustart/ sound.au\"; //赋以URL:http://anywhereyoustart/sound.au
    try {
    play(new URL(Audur)); //播放声音
    } catch(Exception e){}
    }
    }

    五、显示网络上其他HTML文档及文本文件
    利用Java提供的getAppletContext().showDocument(URL)可以显示其他结点的HTML文档及文本文件,同前面的显示网络上其他结点的图象,
    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://anywhereyoustart/index.html\"); //index可以是TXT等文档

    catch (MalformedURLException e) {
    System.out.println(\"Can\t open the URL \");
    }
    if (docur != null) {
    getAppletContext().showDocument(docur,\"_blank\"); //显示文档
    }
    }
    }



    发布人:netbull 来自:LinuxAid