注册表是一个树状结构,由5个分支组成:
HKEY_CLASSES_ROOT,存放系统注册过的文件类型;
HKEY_CURRENT_USER,存放正在使用计算机的用户有关的信息;
HKEY_LOCAL_MACHINE,存放与本机有关的信息;
HKEY_USER,存放在本机上登陆过的所有用户的信息;
HKEY_CURRENT_CONFIG,存放计算机的当前配置.


代码:

 
  
  1. <%@ page language="java" import="java.util.prefs.Preferences" pageEncoding="UTF-8"%>  
  2.  
  3. <jsp:directive.page import="java.util.prefs.BackingStoreException"/>  
  4.  
  5. <%  
  6.  
  7. String path = request.getContextPath();  
  8.  
  9. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  10.  
  11. %>  
  12.  
  13.  
  14. <!DOCTYPE HTML PUBLIC "-//W//DTD HTML 4.01 Transitional//EN">  
  15.  
  16. <html>  
  17.  
  18. <head>  
  19.  
  20. <base href="<%=basePath%>">  
  21.  
  22. <title>访问注册表</title>  
  23.  
  24. </head>  
  25.  
  26.  
  27. <body>  
  28.  
  29. <%   
  30.  
  31. String items[]={"item1","item2","item3"};  
  32.  
  33. String values[]={"value1","value2","value3"};  
  34.  
  35. //创建/com/foo/bar节点  
  36.  
  37. Preferences preferences=Preferences.userRoot().node("/com/foo/bar");  
  38.  
  39. //用put方法写键值对到注册表  
  40.  
  41. for(int i=0;i<items.length;i++){  
  42.  
  43. preferences.put(items[i],values[i]);  
  44.  
  45. }  
  46.  
  47. //用get方法读取注册表中的值,并输出到控制台  
  48.  
  49. try{  
  50.  
  51. String keys[]=preferences.keys();  
  52.  
  53. for(int i=0,n=keys.length;i<n;i++){  
  54.  
  55. System.out.println(keys[i]+":"+preferences.get(keys[i],"NULL"));  
  56.  
  57. }  
  58.  
  59. }catch(BackingStoreException e){  
  60.  
  61. e.printStackTrace();  
  62.  
  63. }  
  64.  
  65. //如过要看到注册表中的变化,清将下面的代码注释  
  66.  
  67. try{  
  68.  
  69. preferences.removeNode();  
  70.  
  71. System.out.println("已经将刚才写入注册表的信息成功删除!");  
  72.  
  73. }catch(BackingStoreException e){  
  74.  
  75. e.printStackTrace();  
  76.  
  77. }   
  78.  
  79. %>  
  80.  
  81. </body>  
  82.  
  83. </html>