动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.Java核心代码例程之:ShowFileCo.
.java的io简单应用.
.关于Java23种设计模式的有趣见解.
.java性能优化-之二.
.数据操作相关函数笔记.
.编写一个动画Applet.
.JBOSS-QL中的like、order by的实.
.教你如何编写Java类(二).
.我的ThinkinginJava学习笔记.
.J2ee核心技术:J2EE Frameworks介.
.使用logic:iterate遇到的问题.
.Microsoft.Net 的Java实现.
.程序员注意:Java开发最容易犯的.
.通用上载组件的原理及实现.
.配置JBoss4JDBC连接.
.细述Java技术开发规则--中级篇.
.osworkflow源码分析(一).
.Java Servlet API说明文档(2.1a.
.在JAVA开发中的中文处理问题及解.
.java applet 画图板.

提高Java应用程序属性持久化的方法

发表日期:2008-1-5 |



  绝大多数应用程序都需要一套持久保存的属性(property)来维护正常的运行。我们经常用Java.util包中的Properties类来实现这样的存储。它提供保存属性的一套方便使用的机制。但是有时候,你需要更复杂的属性文件结构,你可以通过扩展Properties类来达到这个目的。
  
  Properities类按照“要害字——值”对的形式来保存数据,它不答应复制,但实际上,对复制功能的需求又是很常见的。不过,通过把同样的条目分成好几个文件并给不同要害字拷贝同样的值的方法,还是有可能用标准Properities类来达到拷贝的目的的。不幸的是,这个解决方法易于出错、而且更改起来也很单调乏味。一个简单的解决方法就是使用ProperitiesEXPansion类,它答应用“${}”标记来扩展属性来消除数据重复。它还答应你在同一个属性文件中使用同样的条目(通过把它们保存在不同的位置)。
  
  
  扩展属性
  
  
  
  属性扩展的首要目的就是使得属性文件中的数据表示更清楚更轻易维护。为了达到这个目的,你可以用“${}”标记来引入可被替换的参数,这样在运行时的属性查询时,它们可以扩展为用标记名所表示的值。下面是含有替换标记的属性文件的一个例子:
  
  user.name=john
  home.dir=usr
  working.dir=${home.dir}/tmp
  
  
  当访问这些属性时,“${home.dir}”标记就用“usr”值所代替,这样working.dir属性就是usr/tmp。请查看代码清单A所给出PropertiesExpansion类。为了提供标记扩展,我重载了标准Properties类的getProperty(String key)、setProperty(String key,String value)以及load(InputStream is),我还添加了replace()方法。
  
  在清单A中有两个已重载的replace()方法,一个用来从当前属性清单中替换所有的替换标记,另一个repalce(String in,Hashtable keys)是一个方便的静态方法,它用包含替换标记的哈希表对象来执行同样的替换。
  
  我们重写了setProperty()、load()和getProperty()方法,这样它就可以检查映射给定要害字的值是否包含扩展标记;假如发现扩展标记,它们就用合适的值来替换这些标记。
  
  局部属性
  
  
  
  在某些情况下,具有相同名字但映射为不同值的要害字是有用的。你可以通过局部(sectioning)属性文件来达到这个目的,如下所示:
  
  # global properties
  section.root=root
  x1=2
  y1=0
  [user.1]
  x1=${x1}
  y1=10
  [${section.root}]
  x1=123
  y2=20
  
  
  在“user.1”之上的所有“要害字——值”对是全局参数,在程序不同的地方都可以引用这些全局参数来实现值替换。例如,在属性扩展之后,${section.root}区域就变成了“root”区域,而属性x1在user.1区域的值为2。
  
  假如你需要从指定区域中查询一个已命名属性,那么你可以使用getProperty(String section,String key)方法。它把区域名作为一个附加参数。每个区域名都映射到一个包含“要害字——值”对的Properties对象。为了在user.1区域内得到x1属性的值,请用下面的一行代码执行清单B中的代码:
  
  PropertiesExpansion.getProperty(“user.1”,”x1”)
  
  清单B中的setProperty()方法用来为期望的区域设置“要害字——值”对。该方法调用哈希表的put()方法,该方法由PropertiesExpansion类所重载。Put()方法的诀窍在于判定一个“要害字——值”对属于哪个区域并相应更新该区域。由于put()方法答应插入其要害字或者值不是字符串的条目,所以我强烈希望你不要直接用put()方法来设置属性。
  
  你可以通过调用sections()方法来查询所有的区域的名字,该方法返回区域名字的枚举类型。属于某个区域的所有要害字可以通过调用sectionKeys()方法来查找到。为了利用区域的位置把属性写道文件之中,store()方法被重载了。
  
  还有诸如getInt()、getLong()、getFloat()、getDouble()和getBoolean()等附加的方法,它们用来简化把属性值的类型转换为诸如整型、长整型、浮点型、双精度和布尔等的简单数据类型。这些方法的参数为包含给定要害字的值的附加Properties对象。
上一篇:优化Java动画编程中的显示效果 人气:831
下一篇:Java Transaction API概述 人气:716
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-13 爬爬思特新闻管理系统 v2.0 Beta1
2008-10-13 Pligg v9.9.5 Beta
2008-10-13 广优邮件发送系统 v2.1
2008-10-13 缤纷互动视频交友 v3.1 RC
2008-10-13 MyShop网络商城 build 081005
2008-10-13 Chyrp 超轻量级开源博客引擎 v2.
2008-10-13 162100静态(论坛/文章)系统 v2.4
2008-10-13 金博人才招聘求职网黄金版 v4.2
2008-10-13 愚人笔记 v4.0
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成