- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA数据流的应用
JAVA数据流的应用
常常逛WWW的人, 一定不会对许多起始页的计数器感到陌生。当你每一次光临某些站点的起始页时, 起始页的计数器就会亲切的告诉你,从某年某月某日开始算起, 您是第几个光临这个起始页的人。你可能知道这是用CGI做的,后面是什么?不是十分清楚吧!我们这里来分析一下计数器吧; 如是我写下本文。 当你看完本文之后人你会觉得计数器是这样的简单、以后上Internet网时不会觉得漂亮的是多么的复杂,而是一个CGI和数据流的杰作。看看吧是多么的平常!
import .*;
import java.io.*;
import java.awt.*;
在这里小程序引入了三类库。都是标准类库,为了使用数据流而引入了java.io.*类库;为了使URL引入了.*类库;同时为了在字形与图形引入了java.awt.*类库。
public class JavaCounter extends java.applet.Applet
这里扩展了Applet,这里的JavaCounter是继承了Applet的属性。
{
Font fn=new Font(TimesRoman,Font.BOLD,24);
设置了显示的字形和使用的确24点字模。
String counter_str,myurl;
String filename;
取得资源Counter。
public void init()
关键字public告诉java编译器其它对象从类Applet的外部调用init函数关键字void告诉java编译器init不向prowser返回任何值。
{
filename=getParameter(filename);
if(filename==null) filename=home.txt;
myurl=2/cgi-bin/counter.exe?home.txt;
try{
URL serverURL=new URL(myurl);
DataInputStream dis;
dis=new DataInputStream(serverURL.openStream());
counter_str=dis.readLine();
counter_str=dis.readLine();
dis.close();
}
catch(MalformedURLException mfURLe) {}
catch(IOException ioe) {}
}
这里我们从网络的远程取得数据文件的过程。 注:虽然有此URL位置看起来长,但在JAVA中基本上是一资源的传输协议,加上一个资源的名称。如上面中的HTTP一样都是典型的传输协议。通常具有一个或多个结构。为了处理方便,在JAVA中特别为URL位置设计了URL类,可以用一个URL对象记录下完整URL信息,这里我们使用的就是URL。同时我们用了java.io.*;中的数据流的程序包。数据流可以看作是数据的通信途径。通常是建立一条数据通道后在程序读取时向这个通道发送信号、远方数据自动送来的过程我们叫做数据流。而本程序主要部分也是这些。
public void paint(Graphics g)
{
g.setFont(fn);
g.setColor(Color.blue);
g.drawString(庆祝吧!
第counter_str位朋友您的到来!,10,50);
}
当我们从数据流收到信息后,就由Applet中的方法paint去处理,并把设好的字形显示于屏幕上。
}
注:编好这个程序之后还要一个CGI程序才能发挥作用。还是说一下CGI的其本思路吧!我们先打开counter.exe?home.txt的记录读出记录加1并更新数据关闭记录。并输出记录通过数据流给JAVA程序读取的方式。下面CGI例子是用C++编的你不妨试试吧!!同时为了读和应用的方便写下了CGI与JAVA的全部原程序。
Java原程序如下:
import .*;
import java.io.*;
import java.awt.*;
public class JavaCounter extends java.applet.Applet
{
Font fn=new Font(TimesRoman,Font.BOLD,24);
String counter_str,myurl;
String filename;
public void init()
{
filename=getParameter(filename);
if(filename==null) filename=home.txt;
myurl=2/
cgi-bin/counter.exe?home.txt;
文档评论(0)