在Applet中读取文件内容

来源:互联网 发布:上海九院口腔科 知乎 编辑:程序博客网 时间:2024/04/30 23:00
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>---- 我们知道,在Java Applet中出于安全性考虑,Applet是不允许对文件进行操作的,不仅不允许写文件,而且不允许读文件。尽管我们在编制Applet时即使使用了文件操作的语句Java不会报错,在开发工具(如Cafe)中调试时也能够正常运行,但当我们在浏览器中运行这个Applet时浏览器就会报错。但有时我们的确要读取文件中的内容,比如要将服务器中的.txt文件内容在Applet中显示出来,是不是就没有办法了呢? ---- 不!有办法。决窍就是我们不要将这些服务器上的文件作为普通文件来处理,而是将它们作为网络资源来获取它们的内容。在Java中可用于获取网络资源的类主要有两种,一是URL类,另一个是URLConnection类。两个类都提供了以字节流的方式读取资源信息的方法,而且可以对资源信息的类型作出判断,以便作相应的处理。不同之处是URLConnection类可提供的信息比URL类要多得多,它除了可以获取资源数据外,还可以提供资源长度、资源发送时间、资源最新更新时间、资源编码、资源的标题等许多信息。 ---- 以下是两个类的常用方法。 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) 根据输入流猜测内容的类型---- 下面以读取服务器上的.txt文件内容为例说明如何在Applet中读取文件。设服务器的IP地址为202.114.1.16,.txt文件的路径为/file/sample.txt。以下是读取sample.txt内容的Applet的源代码。 //getfile.html< HTML >< HEAD >< TITLE >读取文件的Applet< /TITLE >< /HEAD >< BODY >这是服务器上TXT文件的内容< BR >< Applet code="getFile.class" width=200 height=100 >< /Applet >< /BODY >< /HTML >//getFile.javaimport java.awt.*;import java.applet.*;import java.net.*;import java.io.*;public class getFile extends Applet{ String info; public void init() { URL url; URLConnection urlc; resize(200,100); setBackground(Color.white); try{ url = new URL("http://202.114.1.16/file/sample.txt"); urlc = url.openConnection(); urlc.connect(); info = getInfo(urlc); }catch(MalformedURLException mfe){ System.out.println("URL form error!"); }catch(IOException ioe){ System.out.println("IO Exception!"); } } public void paint(Graphics g) { g.setColor(Color.red); g.drawString(info,50,50); } public String getInfo(URLConnection urlc) { String txt = new String(); InputStream is; int i; try{ is = urlc.getInputStream(); i = is.read(); while(i != -1){ txt = txt (char)i; i = is.read(); } is.close(); }catch(IOException ioe){ System.out.println("IO Exception!"); txt = new String("File read failed!"); } return txt; }} 以上JAVA程序在两种系统中调试均通过,两种系统的配置分别为:(1) 服务器:Digital Unix Oracle Webserver3.0浏览器:Netscape4.0.5或IE4.0(2) 服务器:Windows98 Pws 浏览器:Netscape4.0.5或IE4.0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 头戴式蓝牙耳机排行榜 头戴式耳机哪种好 头小适合戴什么帽子 孙悟空头戴 什么牌子的头戴式耳机好 头戴摄像头 头戴式3d显示器 头戴式耳机价格 什么样的头戴式耳机好 edifier头戴式耳机 索尼头戴式耳机哪款好 头戴式耳机那种好 头戴凤冠打一生肖 头戴式耳机耳套 头戴式耳机排名 无线头戴麦克风 中低端头戴式耳机 头戴式耳塞 头戴式夜视仪 led头戴灯 beats头戴式耳机多少钱 适合女生的头戴式耳机 魔声无线头戴式耳机 beats头戴耳机 头戴式耳机哪里有卖 头戴式耳机怎么用 便宜的头戴式耳机 铁三角 头戴式耳机 哪个头戴式耳机好 无线运动耳机 大馒头耳机 钻石之泪耳机 魔鬼猫 舒尔se535 hifi耳机 hi res 国产耳机品牌排行 魔声钻石之泪 1more solo耳机 耳机接触不良的小妙招