Preferences的中文意思即偏好或喜好的意思,也就是說同一個程序在每次運行完後,可以通過Preferences來記錄用戶的偏好,下次啟動時,程序會利用這些信息來了解用戶的喜好。而這些信息個人理解應該就是存儲在系統的注冊表中。
下面我們來學習一下Java中的Preferences的API; 概述:
本文將介紹自jdk1.4版本後可用的java的Preferences. Java的Preferences API提供系統的方法來處理用戶和系統的偏好及數據配置, 例如.保存用戶設置,記住一個文本框的最後一個值等. 用Java的Preference保存的信息被存儲在用戶本地的機器上,這些信息將會被這個程序重復使用.
我們並不希望Java Preferences API來保存應用數據。
java Preference API減輕了程序員編寫代碼來保存跨平台程序的配置信息的負擔。
1. Java Preferences API 1.1. 介紹 The Preferences API 提供一種系統的方法來處理用戶的偏好設置信息,例如.保存用戶設置, 記住某個文本框的最後一個值等.
Preferences 是一個可以為任意名字的鍵/值對. 值可以為布爾型,字符型, 其他簡單的數據類型,如int. Preferences 通過get和set來獲取和設置偏好信息,且get的方法可設置一個默認值,當要獲取的鍵未被設置值時,就返回此默認值.
1.2. 數據的實際存儲 數據的實際存儲是依賴於操作系統平台的, 例如.在Windows 下面是使用注冊表來保存這些信息,而在Linux下面是使用用戶的home目錄下面的一個隱藏文件來存儲的.
2. API使用 java.util.prefs.Preferences 很容易使用. 你不得不定義一個節點來存儲數據. 接下來就可以使用get和set的方法. 第二個參數是默認值,即當找不到值時,得到的就是這個默認值了, 例如. 如果preference的值還未設置, 那麼將會返回這個默認值.
創建代碼如下:
import java.util.prefs.Preferences;
public class PreferenceTest {
private Preferences prefs;
public void setPreference() {
// This will define a node in which the preferences can be stored
prefs = Preferences.userRoot().node(this.getClass().getName());
String ID1 = "Test1";
String ID2 = "Test2";
String ID3 = "Test3";
// First we will get the values
// Define a boolean value
System.out.println(prefs.getBoolean(ID1, true));
// Define a string with default "Hello World
System.out.println(prefs.get(ID2, "Hello World"));
// Define a integer with default 50
System.out.println(prefs.getInt(ID3, 50));
// Now set the values
prefs.putBoolean(ID1, false);
prefs.put(ID2, "Hello Europa");
prefs.putInt(ID3, 45);
// Delete the preference settings for the first value
prefs.remove(ID1);
}
public static void main(String[] args) {
PreferenceTest test = new PreferenceTest();
test.setPreference();
}
}