您现在的位置: 天极网 > 开发频道 > Java模式设计之单例模式(三)
全文

Java模式设计之单例模式(三)

2003-08-25 16:28作者:阎宏出处:作者授权责任编辑:方舟


  一个实用的例子:属性管理器

  什么是属性文件

  这里给出一个读取属性(properties) 文件的单例类,作为单例模式的一个实用的例子。属性文件如同老式的视窗编程时的.ini 文件,用于存放系统的配置信息。配置信息在属性文件中以属性的方式存放,一个属性就是两个字符串组成的对子,其中一个字符串是键(key),另一个字符串是这个键的值(value)。

  大多数的系统都有一些配置常量,这些常量如果是存储在程序内部的,那么每一次修改这些常量都需要重新编译程序。将这些常量放在配置文件中,系统通过访问这个配置文件取得配置常量,就可以通过修改配置文件而无需修改程序而达到更改系统配置的目的。系统也可以在配置文件中存储一些工作环境信息,这样在系统重启时,这些工作信息可以延续到下一个运行周期中。

  假定需要读取的属性文件就在当前目录中,且文件名为singleton.properties 。这个文件中有如下的一些属性项。

  代码清单5:属性文件内容

node1.item1=How
node1.item2=are
node2.item1=you
node2.item2=doing
node3.item1=?

  例如,node1.item1 就是一个键,而How 就是这个键所对应的值。

  Java 属性类

  Java 提供了一个工具类,称做属性类,可以用来完成Java 属性和属性文件的操作。这个属性类的继承关系可以从下面的类图中看清楚。



  属性类提供了读取属性和设置属性的各种方法。其中读取属性的方法有:

   .. contains(Object value) 、containsKey(Object key): 如果给定的参数或属性关键字在属性表中有定义,该方法返回True ,否则返回False。

   .. getProperty(String key)、getProperty(String key, String default) :根据给定的属性关键字获取关键字值。

   .. list(PrintStream s) 、list(PrintWriter w) :在输出流中输出属性表内容。

   .. size():返回当前属性表中定义的属性关键字个数。

  设置属性的方法有:

   .. put(Object key, Object value) :向属性表中追加属性关键字和关键字的值。

   .. remove(Object key):从属性表中删除关键字。

  从属性文件加载属性的方法为load(InputStream inStream),可以从一个输入流中读入一个属性列,如果这个流是来自一个文件的话,这个方法就从文件中读入属性。

  将属性存入属性文件的方法有几个,重要的一个是store(OutputStream out, String header) ,将当前的属性列写入一个输出流,如果这个输出流是导向一个文件的,那么这个方法就将属性流存入文件。

共3页。 1 2 3 :

软件资讯·软件下载尽在天极软件

共3页。 1 2 3 下一页 末页
相关搜索:
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众