快速业务通道

JDK1.4下实现访问WIN32注册表 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04
g key, boolean default)

getByteArray(String key, byte default[])

getDouble(String key, double default)

getFloat(String key, float default)

getInt(String key, int default)

getLong(String key, long default)

如果您对首选项名称不确定,您可以用 keys() 方法查找一列与节点相关联的键。这个方法返回节点的 String[]。 除获取和存储个别首选项以及获取一列关键字之外,您还可以用 clear()、remove() 和 removeNode() 除去节点和值。

转储数据

如果您想在系统提供的备用存储器之外保存和恢复首选项,您可以在 XML 格式的文档中执行这些操作。您可以用 exportNode() 导出一个节点或用 exportSubtree() 导出整个子树。信息以 UTF-8 格式存储。然后,当您想恢复信息时,可使用 importPreferences() 方法。

侦听

“好奇心会害死一只猫”,但如果您对弄清除首选项何时改变很感兴趣,您可以注册一个 NodeChangeListener 或 PreferenceChangeListener,而不考虑随之而来的后果。NodeChangeListener 负责通知您节点被添加和除去的时间, 而 PreferenceChangeListener 告诉您值的变化。这些都紧跟着基本 JavaBeans 组件事件用 add/removeNodeChangeListener(NodeChangeListener) 和 add/removePreferenceChangeListener() 方法处理结构之后发生。基本上,您先实现侦听器,然后注册侦听器,这样您会发现将来的变化。

完整的示例

真的就这些。清单 3 为您提供了一个完整的示例来试验新功能(也可从参考资料下载)。程序运行后会自己清除,所以如果您想在注册表中找到值,请注释掉程序尾部的清除代码。

清单 3. 完整的示例

package net.zukowski.ibm; import java.io.*; import java.util.prefs.*; public class Prefs { public static void main(String args[]) { String denominations[] = {"One", "Two", "Five", "Ten", "Twenty"}; String pictures[] = {"Washington", "Jefferson", "Lincoln", "Hamilton", "Jackson"}; NodeChangeListener nodeChangeListener = new NodeChangeListener() { public void childAdded(NodeChangeEvent event) { Preferences parent = event.getParent(); Preferences child = event.getChild(); System.out.println(parent.name() + " has a new child " + child.name()); } public void childRemoved(NodeChangeEvent event) { Preferences parent = event.getParent(); Preferences child = event.getChild(); System.out.println(parent.name() + " lost a child " + child.name()); } }; PreferenceChangeListener preferenceChangeListener = new PreferenceChangeListener() { public void preferenceChange(PreferenceChangeEvent event) { String key = event.getKey(); String value = event.getNewValue(); Preferences node = event.getNode(); System.out.println(node.name() + " now has a value of " + value + " for " + key); } }; // Look up user root Preferences prefs = Preferences.userRoot().node("/net/zukowski/ibm"); // Add listeners prefs.addNodeChangeListener(nodeChangeListener); prefs.addPreferenceChangeListener(preferenceChangeListener); // Save a bunch of key-value pairs for (int i=0, n=denominations.length; i < n; i++) { prefs.put(denominations[i], pictures[i]); } // Display all the entries try { String keys[] = prefs.keys(); for (int i=0, n=keys.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号