仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1322|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA网站制作之Tiger系列一:从XML中加载属性

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:36:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发xml|加载JDK1.5(代号Tiger)中更新了java.util.Properties类,供应了从XML文件中读写key-value对属性的复杂办法:loadFromXML()和storeToXML()

1、基础加载属性的办法

lSample属性文件:sample.properties

foo=bar
fu=baz
l加载属性的Sample程序

importjava.io.FileInputStream;
importjava.util.Properties;

publicclassLoadSampleProperties{

publicstaticvoidmain(String[]args)throwsException{
Propertiesprop=newProperties();
FileInputStreamfis=newFileInputStream("props/sample.properties");
prop.load(fis);
prop.list(System.out);
System.out.println("
Thefooproperty:"+prop.getProperty("foo"));
}
}
l输入了局以下:

--listingproperties--
fu=baz
foo=bar

Thefooproperty:bar


2、从XML中加载属性

l上面是PropertiesDTD清单:

<?xmlversion="1.0"encoding="UTF-8"?>
<!--DTDforproperties-->
<!ELEMENTproperties(comment?,entry*)>
<!ATTLISTpropertiesversionCDATA#FIXED"1.0">
<!ELEMENTcomment(#PCDATA)>
<!ELEMENTentry(#PCDATA)>
<!ATTLISTentrykeyCDATA#REQUIRED>
lSampleXML属性文件:sample.xml(切合下面的PropertiesDTD)

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEpropertiesSYSTEM"http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>Hello</comment>
<entrykey="foo">bar</entry>
<entrykey="fu">baz</entry>
</properties>
l<entry>标志指定详细一个属性,由key属性指定属性名,而<entry>标志的内容指定属性值

l<comment>标志能够用来指定正文

l从XML文件加载属性的Sample程序

importjava.io.FileInputStream;
importjava.util.Properties;

publicclassLoadSampleXML{

publicstaticvoidmain(String[]args)throwsException{
Propertiesprop=newProperties();
FileInputStreamfis=newFileInputStream("props/sample.xml");
prop.loadFromXML(fis);
prop.list(System.out);
System.out.println("
Thefooproperty:"+prop.getProperty("foo"));
}
}
l输入的了局是一样的

l能够看出办法很复杂:利用XML文件来保留属性,利用loadFromXML()办法替换本来的load()办法来加载XML文件中属性



3、更新XML文件中的属性值

lSample程序

importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.util.Properties;

publicclassUpdateSampleXml{

publicstaticvoidmain(String[]args)throwsException{
Propertiesprop=newProperties();
FileInputStreamfis=newFileInputStream("props/sample.xml");
prop.loadFromXML(fis);
prop.list(System.out);
System.out.println("
Thefooproperty:"+prop.getProperty("foo"));

prop.setProperty("foo","HelloWorld!");
prop.setProperty("new-name","new-value");
FileOutputStreamfos=newFileOutputStream("props/sample.xml");
prop.storeToXML(fos,"StoreSample");
fos.close();

fis=newFileInputStream("props/sample.xml");
prop.loadFromXML(fis);
prop.list(System.out);
System.out.println("
Thefooproperty:"+prop.getProperty("foo"));
}
}
l下面的例子加载了sample.xml中的属性,更新了foo属性的值,并新加了new-name属性,挪用storeToXML()办法保留到原文件中,并改动正文内容为StoreSample

l程序实行后的sample.xml的内容以下:

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEpropertiesSYSTEM"http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>StoreSample</comment>
<entrykey="new-name">new-value</entry>
<entrykey="fu">baz</entry>
<entrykey="foo">HelloWorld!</entry>
</properties>



再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-30 16:21:40 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
蒙在股里 该用户已被删除
板凳
发表于 2015-2-4 22:21:05 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
admin 该用户已被删除
地板
发表于 2015-2-10 21:37:11 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
深爱那片海 该用户已被删除
5#
发表于 2015-2-24 06:28:11 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
简单生活 该用户已被删除
6#
发表于 2015-3-7 11:39:10 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-13 00:35:44 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
分手快乐 该用户已被删除
8#
发表于 2015-3-13 09:31:02 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
谁可相欹 该用户已被删除
9#
发表于 2015-3-20 18:56:08 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
变相怪杰 该用户已被删除
10#
发表于 2015-4-4 18:39:36 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
小魔女 该用户已被删除
11#
发表于 2015-4-16 21:11:54 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
若相依 该用户已被删除
12#
发表于 2015-5-1 17:28:39 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
愤怒的大鸟 该用户已被删除
13#
发表于 2015-5-6 18:09:32 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
柔情似水 该用户已被删除
14#
发表于 2015-6-6 02:43:28 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
灵魂腐蚀 该用户已被删除
15#
发表于 2015-6-7 07:32:28 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
再现理想 该用户已被删除
16#
发表于 2015-6-8 11:17:58 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
再见西城 该用户已被删除
17#
发表于 2015-6-9 01:40:45 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
爱飞 该用户已被删除
18#
发表于 2015-6-11 01:50:36 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
乐观 该用户已被删除
19#
发表于 2015-6-24 21:55:04 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 20:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表