java 操作windows注册表,主要的API
接口摘要 | |
---|---|
NodeChangeListener | 用于接收首选项节点更改事件的侦听器。 |
PreferenceChangeListener | 用于接收首选项节点更改事件的侦听器。 |
PreferencesFactory | 生成 Preferences 对象的 factory 对象。 |
类摘要 | |
---|---|
AbstractPreferences | 此类提供了 Preferences 类的骨干实现,从而大大简化了实现此类的任务。 |
NodeChangeEvent | Preferences 节点发出的事件,用于指示已添加或移除该节点的子节点。 |
PreferenceChangeEvent | Preferences 节点发出的事件,用于指示已经添加或移除首选项,或者首选项的值已被更改。 |
Preferences | 首选项数据的层次结构 collection 中的节点。 |
异常摘要 | |
---|---|
BackingStoreException | 抛出该异常表明由于内部存储故障或者不能联系内部存储而无法完成 preferences 操作。 |
InvalidPreferencesFormatException | 抛出此异常表明根据 Preferences 规范,输入内容不符合 preferences 集合的正确 XML 文档类型,从而无法完成操作。 |
import java.util.prefs.BackingStoreException;
import java.util.prefs.Preferences;
public class Test {
public static void main(String[] args) {
Preferences pre=Preferences.systemNodeForPackage(Test.class);
pre.put("userName", "******");
pre.putInt("age", 26);
try {
pre.flush();
} catch (BackingStoreException e) {
e.printStackTrace();
}
Preferences now=Preferences.systemNodeForPackage(Test.class);
System.out.println(now.get("userName", "为空"));
System.out.println(now.getInt("age", 0));
}
}
如果选的是systemNode...则保存在[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs]
如果选的是userNode.... 则保存在[HKEY_CURRENT_USER\Software\JavaSoft\Prefs]
这样看来这个东西还是有不少的限制,比如我想在注册表的自动运行的键里增加一个自己的程序。还是要用JAVA调用批处理来实现。