站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题JDK1.4下实现访问WIN32注册表

JDK1.4下实现访问WIN32注册表

摘要: 为Java 1.4增加的java.util.prefs包提供了注册表的访问能力
<iframe src="http://training.yesky.com/ad/iframe/develop_java.htm" frameBorder=0 width=578 scrolling=no height=62></iframe>

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

  您是不是曾经需要保存程序的配置数据但却不知应将数据存储在哪里? 虽然您可以使用属性文件或资源束获取这些信息,但 Java 平台从未指定过用于存储这些文件的标准位置。JSR 10 出现后一切都变了,它为 Java 1.4 API 提供增加的 java.util.prefs 包。存储机制是特定于实现的细节,但程序员不必知道,也不必操心。对于 Windows 平台,它的位置是在“Windows 注册表”。 您虽然不能够对注册表自由控制,但您的确可以通过一个公共根节点访问所有的应用程序。

<iframe align=right marginWidth=0 marginHeight=0 src="http://images.chinabyte.com/adjs/iframe-pip/y-software-pip.html" frameBorder=0 width=360 scrolling=no height=300></iframe>  开始

  命名很恰当的 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");

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




↑返回目录
前一篇: 使用Java3D实现三维图像
后一篇: EJB核心技术及其应用