使用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", "");

 

posted @ 2019-07-04 14:45  技术博客这里开始  Views(391)  Comments(0Edit  收藏  举报