赛迪网 > IT技术 Java > 技术动态
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

如何在JDK1.4下实现访问WIN32注册表 (1)

发布时间:2006.03.28 01:22     来源:赛迪博客    作者:itzealot

(通过 JSR 10)为 Java 1.4 增加的 java.util.prefs 包,通过提供对特定于实现的注
册表(例如,Windows 平台上的 Windows 注册表)的访问能力,使您能够操作用户首选项
数据和配置数据。

您是不是曾经需要保存程序的配置数据但却不知应将数据存储在哪里? 虽然您可以使用属
性文件或资源束获取这些信息,但 Java 平台从未指定过用于存储这些文件的标准位置。


JSR 10 出现后一切都变了,它为 Java 1.4 API 提供增加的 java.util.prefs 包。存储
机制是特定于实现的细节,但程序员不必知道,也不必操心。对于 Windows 平台,它的位
置是在“Windows 注册表”。

您虽然不能够对注册表自由控制,但您的确可以通过一个公共根节点访问所有的应用程序


开始

命名很恰当的 Preferences 类提供操作首选项的基本框架。这个类提供了一系列静态和抽
象方法来操作两套首选项(其中一套是用户首选项,另一套是系统首选项)中的其中一套


使用静态方法,您会得到一个特定于平台的实现,就象 WindowsPreferences 类; 然后您
可以使用由这个特定于平台的实现实现的抽象方法来做这项工作。

用包将程序的首选项分组是个好习惯,可以避免与其它应用程序的命名冲突。 当您查找 
Preferences 对象时,只需传递包的名称。在使用非静态方法时, 您可以传递对自身的引
用(this),程序将为您确定查找的是哪个包,如清单 1 所示。

清单 1. 从非静态方法获取 Preferences 对象 


  Preferences userPrefs = Preferences.userNodeForPackage(this);
  Preferences sysPrefs = Preferences.systemNodeForPackage(this);
  
 



但是,如果您使用的是静态方法,您就必须得到根节点并自己提供包,如清单 2 所示。 


清单 2. 从静态方法获取 Preferences 对象 


  Preferences userPrefs = Preferences.userRoot().node("/net/zukowski/ibm");

  Preferences sysPrefs = Preferences.systemRoot().node("/net/zukowski/ibm");

  
 

   

有了进行操作的节点后,您就可以轻松地设置、获取、除去和转储设置选项。只要把 Pre
ferences 对象当作一个大的键 ? 值散列表(这个表把树形结构中的键组织起来)。可它
不是“集合框架”( Collections Framework)的部件。

1 2 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 小心防范 最易被黑客盯上的注册表位置 (02-06) · Windows注册表编辑器新漏洞 运行恶意软件 (08-31)
· 妙用Windows组策略方案——巧解注册表锁定 (09-14) · 快速定位分支!注册表收藏夹,你用好了吗? (10-10)
· 不用登录也能编辑其他用户配置信息的绝招 (08-20) · [小技巧一则]在注册表中清除IE的安全口令 (05-25)
· 电源关不了,注册表里找!奇怪电源故障一例 (05-11) · 计算机不能自动关闭电源,注册表里找原因! (05-10)
· 注册表修改——《公共对话框也能DIY》补遗 (04-13) · 图形化的“七星注册表修改器”精彩实例放送 (04-13)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 信息化市场百家争鸣 SaaS深陷争议“泥潭”
· 提高管理水平 "两栖"CIO应具备的六大能力
· 国产ITIL运维先行者 四大厂商角力BI市场
· 金融行业GSN专题解决方案 企业网解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统