灵魂腐蚀 发表于 2015-1-18 11:37:02

JAVA教程之使用JDOM开辟日文外来语网路电子辞典

你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。dom(陈广佳)

本文其实不企图对JDOM这类用于疾速开辟XML的第三方工具包举行细致的先容或要涵盖JDOM对XML的一切处置办法,由于这方面的文章及材料已很丰厚,仅但愿能经由过程自己利用JDOM举行详细开辟的事例给没有效过或刚入手下手利用JDOM的伴侣们一个对该API较具形状的一点认知。

项目概述和XMLAPI的选择--JDOMAPI
自己地点的出书社近期将中日韩文工具书转成了电子材料,在开辟教授教养多媒体的同时但愿可以开辟基于收集的电子辞典(先辈行日文外来语辞书的开辟),后一项目由自己卖力。因为项目将以JAPPLET作为客户真个选择,而词库材料以XML文档情势供应,因而我入手下手搜集JAVA对XML处置的相干材料。我开始是在JAVA.SUN.COM上看到JDOM的有关先容,在会见了JDOMORG的网站和看了几篇对JDOM叙说得很好的文章后,我决意利用JDOM来完成该项目中对XML的处置。

JDOMAPI版本是在JDOMORG高低载的JDOMBeta6,如今最新的版本是JDOMBeta7,相对Beta6,Beta7举行了极年夜的改善。(下载JDOM的最新版本)
我利用JBUILDER3举行开辟,JDOM必要做为一个增添的类库加进其JAVALibraries里。我的JDOM是装在E盘的根目次下,设置以下:

NAME:JDOM
CLASSPATH:E:jdom6btjdom-b6uildjdom.jar
SOURCEPATH:E:jdom6btjdom-b6srcjava.zip
DOCPATH:E:jdom6btjdom-b6uildjdom.jar
但JBUILDER5已对JDOM有间接的撑持,JDOMAPI已内嵌在其JAVALibraries里,如许我们利用JDOM就更便利。

词库数据材料XML文档布局
在该项目中XML的文档布局对照复杂,以<dict>为根,主体以日文片化名词条为单位(<word>),上面分离以<spell><prop><mean>各子元素对应片化名拼写、外来语拼写、中文注释各项内容:


该项目中,所利用的XML并非利用JDOM天生,但要利用JDOM天生一样的XML布局也是很复杂的,以下是复杂完成代码片断:


因为要撑持多国语,以是XML以UTF-8编码,这里必要申明的是,JDOM的XMLOutputer默许输入字符编码为UTF-8,假如要输入别种编码,可以使用outputter.setEncoding()举行设定(请参考http://www.jdom.org/docs/faq.html)。在该FAQ里只申明了OUTPUT的编码情形,可是并没有申明JDOM在输出处置XML时对编码的请求,我入手下手利用时XML文档是以UCS-2编码的,但JDOM其实不能一般处置,呈现的毛病:

org.jdom.JDOMException:Errorinbuilding:Thename""isnotlegalforJDOM/XMLelements:XMLnamescannotbenullorempty
在改用了UTF-8编码后,JDOM对XML的处置就可以一般举行,不知是不是与JAVA外部的UNICODE编码于外来文件的UNICODE编码上下字节有关(关于处置一样平常的UNICODE文件,在输出时,必要把文件的上下字节交换才干使JAVA对其举行无误的处置),我临时还没找到有关的材料。

利用JDOM完成电子辞典的词条查询功效
要完成的查询功效次要有两个,①按日文片化名含混查询、②按外来语含混查询:

(这里的含混查询只展现复杂的首字符不异&字符数不异的查找法例)这里仅挑取与JDOM有关的语句展现:


利用JDOM为XML文档增添子元素
为了要往XML材料文档里增添韩国方面将完成的韩文翻译寄存空间,必要往XML文档里增添子元素-koreamean,增添子元素的完成与下面所先容的天生XML文档差未几,仅借此复杂举一个JDOM文档输入的例子,和提一下自己在处置时所碰到的一些成绩。

程序片断:


了局:

我起首利用的是用FileWrieter类输入,输入的效果是能够输入XML档,却呈现不克不及把一切内容全体输入的情形,最初一部分的词条被漏掉,嫌疑是利用FileWriter类输入文件长度受限定的缘故原由。

因而利用FileOutputStream类举行从头输入,输入了局就完整准确了。

小结
JDOM具有丰厚、壮大的XML处置才能,本文仅用实例无限的展现了个中几项经常使用的功效,信任跟着JDOM正式被承受成为Java标准请求,它的使用愈来愈广范,读者们会看到更多更体系的对JDOM的使用例示。

参考材料
JDOMORG网站
JSRs:JavaSpecificationRequestsDetail--JSR102JDOM1.0
EasyJava/XMLintegrationwithJDOM--ByJasonHunterandBrettMcLaughlinhttp://www.javaworld.com/javaworld/jw-05-2000/jw-0518-jdom.html
http://www.ibiblio.org/xml/slides/nypc/jdom/
先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。

活着的死人 发表于 2015-1-21 11:10:35

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

再见西城 发表于 2015-1-21 18:58:06

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

再现理想 发表于 2015-1-23 16:28:11

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

仓酷云 发表于 2015-1-31 18:21:40

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

小女巫 发表于 2015-2-8 12:20:16

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

蒙在股里 发表于 2015-2-10 22:57:28

是一种使网页(Web Page)产生生动活泼画面的语言

冷月葬花魂 发表于 2015-3-1 17:04:11

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

老尸 发表于 2015-3-9 17:42:07

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

不帅 发表于 2015-3-23 08:33:59

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

兰色精灵 发表于 2015-3-23 18:00:34

是一种语言,用以产生「小应用程序(Applet(s))

若相依 发表于 2015-3-24 05:25:25

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

若天明 发表于 2015-3-27 08:39:18

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

透明 发表于 2015-3-27 13:11:11

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

山那边是海 发表于 2015-3-30 09:57:08

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

分手快乐 发表于 2015-4-1 11:11:16

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

admin 发表于 2015-4-16 19:09:15

是一种使用者不需花费很多时间学习的语言

柔情似水 发表于 2015-4-17 08:34:28

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

乐观 发表于 2015-4-24 05:55:33

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
页: [1]
查看完整版本: JAVA教程之使用JDOM开辟日文外来语网路电子辞典