使用Preferences写入注册表
网上很多关于使用Preferences写入注册表的方法,具体代码如下:
1: Preferences preferences = Preferences.systemRoot();
2: preferences.put("regTime", "2013-08-29 14:50:20");
3: try {
4: preferences.flush();
5: } catch (BackingStoreException e) {
6: // TODO Auto-generated catch block
7: e.printStackTrace();
8: }
9: String strRegTime = preferences.get("regTime", "");
这个代码看起没有什么问题,但是出现系统权限问题,因为systemRoot()方法调用的系统注册表的根节点:HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs;如果我们只是需要使用用户注册表的根节点:HKEY_CURRENT_USER\Software\JavaSoft\Prefs;我们完全可以使用userRoot()方法,这样可以避免权限不足的问题。具体代码如下:
1: Preferences preferences = Preferences..userRoot().node("com/dayuanit/activeTime"); 2: preferences.put("lastTime", "2013-08-29 14:50:20"); 3: try { 4: preferences.flush(); 5: } catch (BackingStoreException e) { 6: // TODO Auto-generated catch block 7: e.printStackTrace(); 8: } 9: String strRegTime = preferences.get("lastTime", "");