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"); //顯示文檔

} }

}  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章