Preference使用

Preferences的中文意思即偏好或喜好的意思,也就是说同一个程序在每次运行完后,可以通过Preferences来记录用户的偏好,下次启动时,程序会利用这些信息来了解用户的喜好。而这些信息个人理解应该就是存储在系统的注册表中。

下面我们来学习一下Java中的PreferencesAPI;
概述:

本文将介绍自jdk1.4版本后可用的javaPreferences. JavaPreferences API提供系统的方法来处理用户和系统的偏好及数据配置, 例如.保存用户设置,记住一个文本框的最后一个值等. JavaPreference保存的信息被存储在用户本地的机器上,这些信息将会被这个程序重复使用.

我们并不希望Java Preferences API来保存应用数据。

java Preference API减轻了程序员编写代码来保存跨平台程序的配置信息的负担。

1. Java Preferences API
1.1.
介绍
The Preferences API
提供一种系统的方法来处理用户的偏好设置信息,例如.保存用户设置, 记住某个文本框的最后一个值等.

Preferences 是一个可以为任意名字的键/值对. 值可以为布尔型,字符型, 其他简单的数据类型,如int. Preferences 通过getset来获取和设置偏好信息,且get的方法可设置一个默认值,当要获取的键未被设置值时,就返回此默认值.

1.2. 数据的实际存储
数据的实际存储是依赖于操作系统平台的, 例如.Windows 下面是使用注册表来保存这些信息,而在Linux下面是使用用户的home目录下面的一个隐藏文件来存储的.

2. API使用
java.util.prefs.Preferences
很容易使用. 你不得不定义一个节点来存储数据. 接下来就可以使用getset的方法. 第二个参数是默认值,即当找不到值时,得到的就是这个默认值了, 例如. 如果preference的值还未设置, 那么将会返回这个默认值.

创建代码如下:

1.       view plaincopy to clipboardprint?   

2.       import java.util.prefs.Preferences;       

3.            

4.       public class PreferenceTest {       

5.       private Preferences prefs;       

6.            

7.       public void setPreference() {       

8.       // This will define a node in which the preferences can be stored       

9.       prefs = Preferences.userRoot().node(this.getClass().getName());       

10.   String ID1 = "Test1";       

11.   String ID2 = "Test2";       

12.   String ID3 = "Test3";       

13.        

14.   // First we will get the values       

15.   // Define a boolean value       

16.   System.out.println(prefs.getBoolean(ID1, true));       

17.   // Define a string with default "Hello World       

18.   System.out.println(prefs.get(ID2, "Hello World"));       

19.   // Define a integer with default 50       

20.   System.out.println(prefs.getInt(ID3, 50));       

21.        

22.   // Now set the values       

23.   prefs.putBoolean(ID1, false);       

24.   prefs.put(ID2, "Hello Europa");       

25.   prefs.putInt(ID3, 45);       

26.        

27.   // Delete the preference settings for the first value       

28.   prefs.remove(ID1);       

29.        

30.   }       

31.        

32.   public static void main(String[] args) {       

33.   PreferenceTest test = new PreferenceTest();       

34.   test.setPreference();       

35.   }       

36.   }      

37.     

 

你可能感兴趣的:(java,windows,api,String,存储,跨平台)