---- 我們知道,在Java Applet中出于安全性考慮,Applet是不允許對文件進(jìn)行操作的,不僅不允許寫文件,而且不允許讀文件。盡管我們在編制Applet時(shí)即使使用了文件操作的語句Java不會(huì)報(bào)錯(cuò),在開發(fā)工具(如Cafe)中調(diào)試時(shí)也能夠正常運(yùn)行,但當(dāng)我們在瀏覽器中運(yùn)行這個(gè)Applet時(shí)瀏覽器就會(huì)報(bào)錯(cuò)。但有時(shí)我們的確要讀取文件中的內(nèi)容,比如要將服務(wù)器中的.txt文件內(nèi)容在Applet中顯示出來,是不是就沒有辦法了呢?
---- 不!有辦法。決竅就是我們不要將這些服務(wù)器上的文件作為普通文件來處理,而是將它們作為網(wǎng)絡(luò)資源來獲取它們的內(nèi)容。在Java中可用于獲取網(wǎng)絡(luò)資源的類主要有兩種,一是URL類,另一個(gè)是URLConnection類。兩個(gè)類都提供了以字節(jié)流的方式讀取資源信息的方法,而且可以對資源信息的類型作出判斷,以便作相應(yīng)的處理。不同之處是URLConnection類可提供的信息比URL類要多得多,它除了可以獲取資源數(shù)據(jù)外,還可以提供資源長度、資源發(fā)送時(shí)間、資源最新更新時(shí)間、資源編碼、資源的標(biāo)題等許多信息。
---- 以下是兩個(gè)類的常用方法。
URL類:
· URL(String, String, int, String)
構(gòu)造方法,創(chuàng)建一個(gè)包含協(xié)議類型、主機(jī)名、
端口號(hào)和路徑的URL對象
· URL(String, String, String)
構(gòu)造方法,創(chuàng)建一個(gè)包含協(xié)議類型、主機(jī)名和路徑
的URL對象,其中端口號(hào)為缺省值
· URL(String)
構(gòu)造方法,創(chuàng)建一個(gè)URL對象,參數(shù)將協(xié)議
、主機(jī)名、端口號(hào)和路徑組合起來
· URL(URL,String)
構(gòu)造方法,根據(jù)給定URL對象與相對路徑創(chuàng)建一個(gè)新的URL對象
· Object getContent( )
檢索URL內(nèi)容信息,并返回給對象
· InputStream openStream( )
從資源處返回一個(gè)輸入流
· URLConnection openConnection( )
生成一個(gè)URLConnection對象
URLConnection類:
· protected URLConnection(URL)
構(gòu)造方法,創(chuàng)建一個(gè)針對指定URL對象的URLConnection類
· Object getContent( )
返回URL對象所對應(yīng)的內(nèi)容
· InputStream getInputStream( )
獲取從對象中讀取的字節(jié)流
· Protected static String guessContentTypeFromStream(InputStream is)
根據(jù)輸入流猜測內(nèi)容的類型
---- 下面以讀取服務(wù)器上的.txt文件內(nèi)容為例說明如何在Applet中讀取文件。設(shè)服務(wù)器的IP地址為202.114.1.16,.txt文件的路徑為/file/sample.txt。以下是讀取sample.txt內(nèi)容的Applet的源代碼。
//getfile.html















//getFile.java






























































以上JAVA程序在兩種系統(tǒng)中調(diào)試均通過,兩種系統(tǒng)的配置分別為:
(1) 服務(wù)器:Digital Unix + Oracle Webserver3.0
瀏覽器:Netscape4.0.5或IE4.0
(2) 服務(wù)器:Windows98 + Pws
瀏覽器:Netscape4.0.5或IE4.0
用bufferedreader的方法











寫入



urlc.setDoOutput(
true);

BufferedReader in = new BufferedReader( new InputStreamReader( urlc.getInputStream()));注意這里要接收jsp/servlet的response, 否則它不運(yùn)行









讀取server端properties文件



props.load(urlc.getInputStream());

String prop2 = props.getProperty("prop2");