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(); } }