package com.test.test;
import java.util.prefs.Preferences;
public class PreferenceTest {
private Preferences prefs;
public void setPreference() {
prefs = Preferences.userRoot().node(this.getClass().getName());
String str01 = "str01";
String str02 = "str02";
String str03 = "str03";
System.out.println(prefs.getBoolean(str01, true));
System.out.println(prefs.get(str02, "String"));
System.out.println(prefs.getInt(str03, 50));
prefs.putBoolean(str01, false);
prefs.put(str02, "StringBuffer");
prefs.putInt(str03, 45);
prefs.remove(str01);
}
public static void main(String[] args) {
PreferenceTest test = new PreferenceTest();
test.setPreference();
}
}
第一次运行结果:
true
String
50
之后运行结果:
true
StringBuffer
45
除非把类名改掉,否则之前保存过的信息,其实并没有删除。
比如把3个String属性名字变掉之后,运行,再把3个String属性名变回原来的名字,此时输出还是保存的结果值。
(因为3个属性名跟值被写入了注册表this.getClass().getname()的位置上,只有删除注册表信息才能清空。可以用 pers.removeNode()清空注册表信息。)