Welcome![Sign In][Sign Up]
Location:
Search - 变成

Search list

[SourceCodeobj2asm.zip

Description: 把obj文件变成汇编代码的源程序
Platform: | Size: 76015 | Author: | Hits:

[Internet-Network用Java编写HTML文件分析程序

Description:

Java编写HTML文件分析程序

 一、概述

    

    Web服务器的核心是对Html文件中的各标记(Tag)作出正确的分析,一种编程语言的解释程序也是对源文件中的保留字进行分析再做解释的。实际应用中,我们也经常会碰到需要对某一特定类型文件进行要害字分析的情况,比如,需要将某个HTML文件下载并同时下载与之相关的.gif.class等文件,此时就要求对HTML文件中的标记进行分离,找出所需的文件名及目录。在Java出现以前,类似工作需要对文件中的每个字符进行分析,从中找出所需部分,不仅编程量大,且易出错。笔者在近期的项目中利用Java的输入流类StreamTokenizer进行HTML文件的分析,效果较好。在此,我们要实现从已知的Web页面下载HTML文件,对其进行分析后,下载该页面中包含的HTML文件(假如在Frame中)、图像文件和ClassJava Applet)文件。

    

    二、StreamTokenizer

    

    StreamTokenizer即令牌化输入流的作用是将一个输入流中变成令牌流。令牌流中的令牌实体有三类:单词(即多字符令牌)、单字符令牌和空白(包括JavaC/C++中的说明语句)。

    

    StreamTokenizer类的构造器为: StreamTokenizer(InputStream in)

    

    该类有一些公有实例变量:ttypesvalnval ,分别表示令牌类型、当前字符串值和当前数字值。当我们需要取得令牌(即HTML中的标记)之间的字符时,应访问变量sval。而读向下一个令牌的方法是调用nextToken()。方法nextToken()的返回值是int型,共有四种可能的返回:

    

    StreamTokenizer.TT_NUMBER: 表示读到的令牌是数字,数字的值是double型,可以从实例变量nval中读取。

    

    StreamTokenizer.TT_Word: 表示读到的令牌是非数字的单词(其他字符也在其中),单词可以从实例变量sval中读取。

    

    StreamTokenizer.TT_EOL: 表示读到的令牌是行结束符。

    

    假如已读到流的尽头,则nextToken()返回TT_EOF

    

    开始调用nextToken()之前,要设置输入流的语法表,以便使分析器辨识不同的字符。WhitespaceChars(int low, int hi)方法定义没有意义的字符的范围。WordChars(int low, int hi)方法定义构造单词的字符范围。

    

    三、程序实现

    

    1HtmlTokenizer类的实现

    

    对某个令牌流进行分析之前,首先应对该令牌流的语法表进行设置,在本例中,即是让程序分出哪个单词是HTML的标记。下面给出针对我们需要的HTML标记的令牌流类定义,它是StreamTokenizer的子类:

    

    

    import java.io.*;

    import java.lang.String;

    class HtmlTokenizer extends

    StreamTokenizer {

    //定义各标记,这里的标记仅是本例中必须的,

    可根据需要自行扩充

     static int HTML_TEXT=-1;

     static int HTML_UNKNOWN=-2;

     static int HTML_EOF=-3;

     static int HTML_IMAGE=-4;

     static int HTML_FRAME=-5;

     static int HTML_BACKGROUND=-6;

     static int HTML_APPLET=-7;

    

    boolean outsideTag=true; //判定是否在标记之中

    

     //构造器,定义该令牌流的语法表。

     public HtmlTokenizer(BufferedReader r) {

    super(r);

    this.resetSyntax(); //重置语法表

    this.wordChars(0,255); //令牌范围为全部字符

    this.ordinaryChar('< '); //HTML标记两边的分割符

    this.ordinaryChar('>');

     } //end of constrUCtor

    

     public int nextHtml(){

    int token; //令牌

    try{

    switch(token=this.nextToken()){

    case StreamTokenizer.TT_EOF:

    //假如已读到流的尽头,则返回TT_EOF

    return HTML_EOF;

    case '< ': //进入标记字段

    outsideTag=false;

    return nextHtml();

    case '>': //出标记字段

    outsideTag=true;

    return nextHtml();

    case StreamTokenizer.TT_WORD:

    //若当前令牌为单词,判定是哪个标记

    if (allWhite(sval))

     return nextHtml(); //过滤其中空格

    else if(sval.toUpperCase().indexOf("FRAME")

    !=-1 && !outsideTag) //标记FRAME

     return HTML_FRAME;

    else if(sval.toUpperCase().indexOf("IMG")

    !=-1 && !outsideTag) //标记IMG

     return HTML_IMAGE;

    else if(sval.toUpperCase().indexOf("BACKGROUND")

    !=-1 && !outsideTag) //标记BACKGROUND

     return HTML_BACKGROUND;

    else if(sval.toUpperCase().indexOf("APPLET")

    !=-1 && !outsideTag) //标记APPLET

     return HTML_APPLET;

    default:

    System.out.println ("Unknown tag: "+token);

    return HTML_UNKNOWN;

     } //end of case

    }catch(IOException e){

    System.out.println("Error:"+e.getMessage());}

    return HTML_UNKNOWN;

     } //end of nextHtml

    

    protected boolean allWhite(String s){//过滤所有空格

    //实现略

     }// end of allWhite

    

    } //end of class

    

    以上方法在近期项目中测试通过,操作系统为Windows NT4,编程工具使用Inprise Jbuilder3


Platform: | Size: 1066 | Author: tiberxu | Hits:

[Game Engine石器时代VIP完整服务端

Description: <p>石器时代VIP完整服务端:</p> <p>52.增加安全码开关,在CF中设置</p> <p>51.增加在线存储数据道具,最大限度防止回档<br /> 在线存储卷,在线存储卷,可以在线存储数据,避免回档,使用间隔30分钟,,,,,,,,ITEM_CharSave,,,,,,20819,24176,0,16,2,0,0,-1,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,1,0,0,,0,,0,,0,,0,,0</p> <p>50.增加VIP会员时间,也就是包时间会员<br /> 会员认证,会员认证,可获永久会员权利,1|0,,,,,,,ITEM_VipRide,,,,,,20818,24176,100,16,2,0,0,-1,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,1,0,0,,0,,0,,0,,0,,0<br /> (1|0这个代表1级终身会员,1代表会员等级,可以为2或者3,数字越大会员等级越高,0代表时间,0是终身,30就是30天,大家可以自己定义会员等级和会员期限)</p> <p>49.增加VIP会员等级,为3个等级</p> <p>48.增加随机任务旗标功能</p> <p>47.增加任务旗标数量至510</p> <p>46.增加NPC脚本命令(用来增加荣誉值和减少荣誉值)<br /> AddPoint<br /> DelPoint</p> <p>45.增加NPC判断命令AMPOINT用来判断荣誉值</p> <p>44.添加荣誉系统(老会员点)</p> <p>43.指定地图PK后自动回复体力功能<br /> setup.cf里添加如下内容:<br /> #特殊地图战后补血<br /> MAPHEAL1=-1<br /> MAPHEAL2=-1<br /> MAPHEAL3=-1<br /> MAPHEAL4=-1<br /> MAPHEAL5=-1<br /> MAPHEAL6=-1<br /> MAPHEAL7=-1<br /> MAPHEAL8=-1<br /> MAPHEAL9=-1<br /> MAPHEAL10=-1</p> <p>42.NPC时间判断语句<br /> YEAR 年<br /> MON  月<br /> DATE 日期<br /> DAY  星期<br /> HOUR 小时<br /> MIN  分钟<br /> SEC  秒</p> <p>41.NPC声望判断语句FAME=10000,判断声望=100</p> <p>40.纪录点对话存人物资料功能</p> <p>39.在SAAC里嵌入MYSQL客户端,各位GM不用再去装MYSQL客户端就能启动SAAC了</p> <p>38.增加VIP商店命令,可以自定义宠物血,功,防,敏,等级,转数<br /> Vip_Abi_Pet:宠物编号 血 功 防 敏 等级 转数,会员点数</p> <p>37.增加玩家自定义摆摊模式道具<br /> 摆摊模式卷,摆摊模式卷,可以更改摆摊模式分3种(石币,声望,会员点),,,,,,,,ITEM_TradeType,,,,,,32210,24176,0,16,2,0,0,-1,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,1,0,0,,0,,0,,0,,0,,0</p> <p>36.更改摆摊方式,分为3种(石币,声望,会员点)</p> <p>35.增加CF中禁止传送地图至10张</p> <p>34.增加SQL中完美显示上线玩家名称,使GM更加好管理服务器(简体和繁体都可正常显示)</p> <p>33.NPC加入人物安全锁判断指令,使玩家账号更加安全,SAFE=0未解锁,SAFE=1解锁</p> <p>32.NPC加入changeevent类型中VIP会员的判断指令,VIP=0非会员,VIP=1会员</p> <p>31.修复快速就职等NPC断F的BUG,加入NPC判断指令SKUP</p> <p>30.修复人物声望满100W还可以继续吃声望卷的BUG</p> <p>29.修复神奇戒指男性无法变身的BUG</p> <p>28.新增配合SQL方式会员点的会员点卷道具,使用后直接存入SQL数据库中<br /> 会员卷100点,会员卷100点,可获得会员点数100点,100,,,,,,,ITEM_AddVipPoint,,,,,,30001,24176,100,16,2,0,0,-1,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,1,0,0,,0,,0,,0,,0,,0</p> <p>27.在CF中可自定义装备可镶嵌次数,可设置范围1-5</p> <p>26.新增GM自定义宠物4V,等级,转数的命令[gm petmakeabi 编号 血 攻 防 敏 等级 转数]</p> <p>25.新增极品人制作道具,可以极品人转数,等级,红利点,并且上线不爆点,极品人物无法再使用任何加红利点的道具<br /> 极品人道具,极品人道具,可以让自己变成极品人的道具,6|160|1200,,,,,,,ITEM_SuperManItem,,,,,,21254,24176,0,16,2,0,0,-1,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,1,0,0,,0,,0,,0,,0,,0<br /> 玩家使用道具后。直接成为设定的转数、等级、点数。不会暴点  6|160|1200  6转160级 1200红利点</p> <p>24.PETTALK宠物对话NPC定义限制上线8改至10</p> <p>23.称号功能道具 <br /> (说明:定义绚丽的人物称号。丰富游戏内容)<br /> 称号卷,称号卷,使用后可获得一起石器称号,一起石器,,,,,,,ITEM_NewName,,,,,,38822,24176,100,16,2,0,0,-1,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,1,0,0,,0,,0,,0,,0,,0</p> <p>22.删除指定宠物功能 <br /> (说明:可以在玩家登陆时删除指定宠物)</p> <p>21.删除指定道具功能 <br /> (说明:可以在玩家登陆时删除指定道具)</p> <p><br /> 20.新增同一IP登陆数限制<br /> (说明:有效控制服务器负载,防止超员超量)</p> <p><br /> 19.新增抓宠所需物品自定义<br /> (说明:可以自己定义抓某些C必须带上什么样的道具。适合VIP会员使用或丰富游戏任务)</p> <p>18.宠物学习技能定义上限300改至500 <br /> (说明:可以增加更多的宠物新技能)</p> <p>17.新增玩家需安全密码登陆方或删除人物<br /> (说明:提高帐号的安全性,盗号者发现无法偷到东西后。想删人物也是删不到的。让盗号者没有任何办法)</p> <p>16.增加SAAC程序批量对数据库制作冲值卡<br /> (说明:自动增加销售的冲值卡。自定义面额和数量。./saacjt -c)</p> <p>15.老会员点转换到SQL数据库里 <br /> (说明:其他版本服务端的点卷转换成SQL存点卷的工具)<br /> 会员点旧转新,会员点旧转新,可将你原有的会员点转存在数据库里,,,,,,,,ITEM_OldToNew,,,,,,32201,24176,0,16,2,0,0,-1,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,1,0,0,,0,,0,,0,,0,,0</p> <p><br /> 14.在线会员点充值卡(SQL)功能 <br /> (说明:通过购买的充值卡给人物进行点卷冲值。并通过第三方平台实现24小时无人职守销售点卷。彻底解放GM的手工发放点卷的操作。睡觉也能卖点卷,执行命令./saacjt -c)<br /> 在线充值卡,在线充值卡,输入你的卡号可以在线进行充值,,,,,,,,ITEM_OnlineCost,,,,,,32207,24176,0,16,2,0,0,-1,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,1,0,0,,0,,0,,0,,0,,0</p> <p><br /> 13.新增道具宠物安全锁 <br /> (说明:彻底封锁盗号者的所有途径,去处SF中无耻盗号的这个毒瘤.就算盗到号也拿不到任何东西)<br /> 安全锁,安全锁,可以对身上的物品宠物进行上锁,锁定后,不解锁不能丢弃,,,,,,,,ITEM_ItemPetLocked,,,,,,32205,22016,0,16,2,0,0,-1,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,1,0,0,,0,,0,,0,,0,,0</p> <p><br /> 12.恢复登陆记录登陆信息功能<br /> (说明:显示帐号的登陆信息。查询更方便)</p> <p>11.恢复以前锁定账号功能<br /> (说明:方便的在线锁定捣乱的帐号)</p> <p>10.新增SQL会员点搭配的NPC脚本功能 <br /> (说明:配合SQL存会员点功能)</p> <p>9.新增SQL存会员点功能 <br /> (说明:原点卷存放在文件中,安全性无法保证。查询非法持有点卷也非常困难。SQL存点卷。可以进行方便的检索。并配合网頁开发更多新功能)</p> <p>8.已完善96位骑宠模式<br /> (说明:自定义的新骑C,)</p> <p>7.增加地图数量至2000张<br /> (说明:可使服务器中加入更多的新地图而不会出现错误)</p> <p>6.以交易模式PK功能  <br /> (说明:在指定地图。进行交易。放上双方满意的东西。点确定开始PK。胜利者获得双方交易的所有东西。)</p> <p>5.玩家某些事件自动存档<br /> (说明:在玩家进行购买物品。交易或点卷操作的时候。系统会自动为玩家存档。有效防止因服务器问题导致的回档)</p> <p>4.新增世界密聊频道<br /> (使用方法:!!+空格+内容)</p> <p>3.改良小喇叭显示方式<br /> (说明:让玩家使用点卷发送广播,让服务器所有人都能看见)</p> <p>2.会员上线全服提示<br /> (说明:体现会员的优越性)</p> <p>1.以会员点做为赌博方式PK功能<br /> (说明:和普通PK不同,在指定的点卷PK地图中进行PK.根据不同额度,胜者获得失败者点卷)</p>
Platform: | Size: 3254629 | Author: njynjy | Hits:

[JSP/Javaj2ee

Description: 该教程讲解比较深刻,适用有一定变成基础的读者使用- This course explanation quite is profound, suitablly has the reader which certainly turns the foundation to use
Platform: | Size: 250723 | Author: 韩寒 | Hits:

[Develop Toolsjavascript

Description: 简单的讲解语言,非常实用,使你在短期内就能熟练掌握其变成技巧-simple language to explain, very practical, so that you will soon become familiar with and understand their skills
Platform: | Size: 396982 | Author: 韩寒 | Hits:

[Windows Developdatabase_12

Description: 数据库变成 欲望 军事基地巨大广泛的-database into tremendous desire extensive military bases
Platform: | Size: 508981 | Author: 龙虾 | Hits:

[ActiveX/DCOM/ATLCharpter05

Description: WIN2000 变成技术内幕-WIN2000 technology into insider
Platform: | Size: 6937 | Author: 张伟敏 | Hits:

[GUI Develop第一篇 窗体与界面

Description: C++变成的窗体,极其简单的程序供初学者研究使用-into the Form C, the procedure is extremely simple for beginners to study the use of
Platform: | Size: 114555 | Author: 小飞驴 | Hits:

[ToolBar可以显示多行文字的工具条

Description: CToolBar不支持多行文字,本文将通过一个定制的MFC/C++类 CMTToolBar 实现在工具条中显示多行文字。其思路是先把文字变成位图,再替换原来的工具条位图,达到显示多行文字的效果。-CToolBar not support multiple lines, the paper will adopt a customized MFC / C CMTToolBar achieve the tools of the extra lines. Their idea is to put the words into bitmap, and the replacement of the original bitmap tools to achieve the extra lines of text effects.
Platform: | Size: 32097 | Author: lili | Hits:

[Button controlOnlyOneInst1

Description: 控件变成,详细讲述空件编程的方法,理论和实际操作过程-controls into detail about empty pieces of programming methods, theoretical and practical course
Platform: | Size: 34960 | Author: 胡和南 | Hits:

[OS programReadURLfile

Description: 从网站上读取html文件,并显示,对于网络变成有一定作用-read from the Web site html documents, and shows that the network has become a role
Platform: | Size: 956 | Author: 孙快乐 | Hits:

[OpenGL programA00_学OpenGL编3D游戏

Description: 3D编程 用opengl编程时的最近本框架,适合刚学图形变成的人学习,有助于理解编成原理-3D programming using opengl programming at the last of this framework, just learning to fit into graphics learning from the people, help understanding into Principle
Platform: | Size: 58006 | Author: 刘晓强 | Hits:

[Video Capture发个指纹识别系统

Description: 抛开别的,现在只说细化。 细化的目的是把图像变成单像素宽。 单像素宽的定义如下: 在8邻域内最多不超过3个临接点。 端点处一个,连续点处2个,分叉点处3个 可是如果这样定义,那么这样的图形无法细化了: 图像是一个叉子,因为交点所在的8邻域是有4个临界点的 这样的图像是无法变成单像素宽的
Platform: | Size: 92072 | Author: 吴龙 | Hits:

[OtherCixiBlog 试用版

Description: 一个类似于博客的网站,做的很好,可以根据自己的需要改动一下就变成自己的网站了,也可以学习一下,非常不错-similar to a blog website, so good, according to his own needs you change it into its own web site, can learn from this, very good
Platform: | Size: 1840031 | Author: 于明着 | Hits:

[Other resource002_3

Description: C语言教程,PDP文件放映,介绍C语言变量急语法变成-C language tutorial, PDP document screening, introduced radical C language syntax into variable
Platform: | Size: 29993 | Author: 伍的 | Hits:

[Web Server将TEXTBOX也变成透明效果的代码

Description: 将TEXTBOX也变成透明效果-TEXTBOX will become transparent effects
Platform: | Size: 40542 | Author: | Hits:

[Software EngineeringMyeclipse项目变成eclipse项目

Description: Myeclipse项目变成eclipse项目
Platform: | Size: 2492 | Author: steil@126.com | Hits:

[WEB Code将TEXTBOX也变成透明效果的代码

Description: 将TEXTBOX也变成透明效果-TEXTBOX will become transparent effects
Platform: | Size: 39936 | Author: | Hits:

[Windows CEThunder2Http

Description: 把迅雷、网盘、Flashget、QQ旋风的专用链接变成普通http链接,以便于可以用浏览器下载。 应用了剪贴板,编码/解码等功能-The Thunder, network disk, Flashget, QQ Tornado dedicated link into normal http link, so you can use the browser to download. Application of the clipboard, encoding/decoding functions
Platform: | Size: 165888 | Author: liny_lg | Hits:

[Documents微信分享链接变成二维码Demo

Description: 此Demo是将分享连接转二维码,代码可直接使用(This Demo is to share the connection to two-dimensional code, the code can be used directly)
Platform: | Size: 10240 | Author: 梁门大少 | Hits:
« 12 3 4 5 6 7 8 9 10 ... 50 »

CodeBus www.codebus.net