Preferences API的使用

Preferences API的使用

ID:39467460

大小:163.50 KB

页数:5页

时间:2019-07-04

Preferences API的使用_第1页
Preferences API的使用_第2页
Preferences API的使用_第3页
Preferences API的使用_第4页
Preferences API的使用_第5页
资源描述:

《Preferences API的使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、PreferencesAPI的使用概述应用程序往往需要存储一些偏好设定(如有些软件所称的“首选项”、“选项”等等)和配置信息,PreferencesAPI就是干这个的。在PreferencesAPI产生以前,我们一般是通过PropertiesAPI或者JNDIAPI来管理偏好设定和配置信息。但是这两种API要么在可移植性上存在不足,要么在简便性上存在不足,而PreferencesAPI弥补了这些问题。PreferencesAPI是轻型的、跨平台的持久性API,它是在JDK1.4中引入的。它不是为了为传统数据库引擎提供

2、一个接口,而是用恰当的、操作系统特定的后端以实现真正的持久性。PreferencesAPI规范没有规定如何实现这个API,只规定了它必须做什么。这个API针对不同的操作系统有不同的实现。Java运行时环境的每一个实现(如win32版本和linux版本)对这个API都可以有不同的实现。如:Windows中的实现是将API数据存在注册表中,许多非注册表的实现将API数据存储在一个XML格式的文件中。PreferencesAPI使用层次树结构来存储数据。有两个数据树—用户树和系统树。这两个树的行为完全相同,但是它们有不同的

3、目的。系统树用于存储所有用户都可以使用的数据,而用户树对于每一个用户是不同的。层次树的起始点是一个根节点(根节点是树的根基,所有其他节点都是这个节点的后代)。节点可以包含命名的值(即键/值对—类似于Map类型)以及其他节点。所有的程序都有一个共同的根节点,不同的程序将它们的数据存储在树的不同节点上。PreferencesAPI在java.util.prefs包中,可存储字符串、数字、布尔值、简单字节数组等。PreferencesAPI对可以存储在它里面的数据大小有限制。具体就是字符串限制为MAX_VALUE_LENG

4、TH个字符。字节数组限制为MAX_VALUE_LENGTH长度75%,因为字节数组是通过编码为字符串存储的。键名限制为MAX_KEY_LENGTH个字符,节点名限制为MAX_NAME_LENGTH个字符。PreferencesAPI还可以添加Preference或Node监听器,当Preference或Node改变时触发。代码演示/**这段程序演示了PreferencesAPI的使用。底层为Windows。*/packagecom.lwj.prefs;importjava.util.prefs.BackingStor

5、eException;importjava.util.prefs.NodeChangeEvent;importjava.util.prefs.NodeChangeListener;importjava.util.prefs.PreferenceChangeEvent;importjava.util.prefs.PreferenceChangeListener;-5-importjava.util.prefs.Preferences;publicclassPreferencesDemo{privatestaticfin

6、alStringPOSITION="postion";privatestaticfinalintX_DEFAULT=50,Y_DEFAULT=25;publicstaticvoidmain(String[]args){/**访问系统树的根节点和用户树的根节点*如果根节点不存在,就建立;如果存在,就返回。*在Windows(我的为WindowsXPSP2)中,*这两个节点分别位于注册表的*HKEY_LOCAL_MACHINESOFTWAREJavaSoftPrefs和*HKEY_CURRENT_USERSoft

7、wareJavaSoftPrefs*/PreferencessystemRoot=Preferences.systemRoot();PreferencesuserRoot=Preferences.userRoot();System.out.println(systemRoot);System.out.println(userRoot);/**用PreferencesDemo的包名建立或访问一个子节点*如果子节点不存在,就建立;如果存在,就返回。*这个子节点的绝对路径名:/com/lwj/prefs*/Prefer

8、encesprefs=Preferences.userNodeForPackage(PreferencesDemo.class);System.out.println(prefs.absolutePath());/**在/com/lwj/prefs再建立或访问一个子节点*绝对路径名:/com/lwj/prefs/a*/Preferencesa=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。