- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Preferences API的使用
Preferences API的使用 概述 应用程序往往需要存储一些偏好设定(如有些软件所称的“首选项”、“选项”等等)和配置信息,Preferences API就是干这个的。 在Preferences API产生以前,我们一般是通过Properties API或者JNDI API来管理偏好设定和配置信息。但是这两种API要么在可移植性上存在不足,要么在简便性上存在不足,而Preferences API弥补了这些问题。 Preferences API 是轻型的、跨平台的持久性 API,它是在 JDK 1.4中引入的。它不是为了为传统数据库引擎提供一个接口,而是用恰当的、操作系统特定的后端以实现真正的持久性。 Preferences API 规范没有规定如何实现这个 API,只规定了它必须做什么。这个API针对不同的操作系统有不同的实现。Java 运行时环境的每一个实现(如win32版本和linux版本)对这个 API 都可以有不同的实现。如:Windows中的实现是将API数据存在注册表中,许多非注册表的实现将 API 数据存储在一个 XML 格式的文件中。 Preferences API 使用层次树结构来存储数据。有两个数据树—用户树和系统树。这两个树的行为完全相同,但是它们有不同的目的。系统树用于存储所有用户都可以使用的数据,而用户树对于每一个用户是不同的。 层次树的起始点是一个根节点(根节点是树的根基,所有其他节点都是这个节点的后代)。节点可以包含命名的值(即键/值对—类似于Map类型)以及其他节点。所有的程序都有一个共同的根节点,不同的程序将它们的数据存储在树的不同节点上。 Preferences API 在java.util.prefs包中,可存储字符串、数字、布尔值、简单字节数组等。Preferences API 对可以存储在它里面的数据大小有限制。具体就是字符串限制为 MAX_VALUE_LENGTH个字符。字节数组限制为 MAX_VALUE_LENGTH 长度 75%,因为字节数组是通过编码为字符串存储的。键名限制为MAX_KEY_LENGTH个字符,节点名限制为MAX_NAME_LENGTH个字符。 Preferences API还可以添加Preference或Node监听器,当Preference或Node改变时触发。 代码演示 /* * 这段程序演示了Preferences API的使用。底层为Windows。 */ package com.lwj.prefs; import java.util.prefs.BackingStoreException; import java.util.prefs.NodeChangeEvent; import java.util.prefs.NodeChangeListener; import java.util.prefs.PreferenceChangeEvent; import java.util.prefs.PreferenceChangeListener; import java.util.prefs.Preferences; public class PreferencesDemo { private static final String POSITION = postion; private static final int X_DEFAULT = 50, Y_DEFAULT = 25; public static void main(String[] args) { /* * 访问系统树的根节点和用户树的根节点 * 如果根节点不存在,就建立;如果存在,就返回。 * 在Windows(我的为Windows XP SP2)中, * 这两个节点分别位于注册表的 * HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs 和 * HKEY_CURRENT_USER\Software\JavaSoft\Prefs */ Preferences systemRoot = Preferences.systemRoot(); Preferences userRoot = Preferences.userRoot(); System.out.println(systemRoot); System.out.println(userRoot); /* * 用PreferencesDemo的包名建立或访问一个子节点 * 如果子节点不存在,就建立;如果存在,就返回。 * 这个子节点的绝对路径名: /com/lwj/prefs */ Prefere
文档评论(0)