好象可以去问Sun,为什么不让java 读windows注册表

解决方案 »

  1.   

    Package java.util.prefs 
    This package allows applications to store and retrieve user and system preference and configuration data. 这个包就是读写注册表的
      

  2.   

    用jRegistry 来操作注册表,它是用JNI来封装WINDOWS注册表API// create a new key, "Test", under HKLM
        RegistryKey r = new RegistryKey(RootKey.HKEY_LOCAL_MACHINE, "Test");
        if(!r.exists()) {
           r.create();
        } // if    // create value entries
        RegistryValue v = new RegistryValue("aString", ValueType.REG_SZ, "test");
        r.setValue(v);    v.setName("aDword");
        v.setType(ValueType.REG_DWORD);
        v.setData(new Integer(0x1001001));
        r.setValue(v);    // read value entries
        Iterator i = r.values();
        while(i.hasNext()) {
           v = (RegistryValue)i.next();
           System.out.println(v.toString());
        } // while    // delete registry key
        r.delete();下载地址:http://jregistrykey.sourceforge.net/
    以前我用这个解决了我的问题,希望对你有帮助。
      

  3.   

    import java.io.*;
    import java.util.prefs.*;public class Testreg {
      public static void main(String args[])
      {
        String keys[] =
          {"date","yon"};
        String values[] =
          {"1-1-1","n"};    /* ½¨Á¢Ò»¸öλÓÚuser rootϵÄ/com/sunway/spc½Úµã²ÎÊýÏî*/
        /*Preferences prefsdemo =
          Preferences.userRoot().node("/com/sunway/spc");*/    /* ½¨Á¢Ò»¸öλÓÚsystem rootϵÄ/com/sunway/spc½Úµã²ÎÊýÏî*/
        Preferences prefsdemo = Preferences.systemRoot().node("/com/sunway/spc");
        /* ´¢´æ²ÎÊýÏî*/
        for (int i=0 ; i < keys.length; i++)
        {
          prefsdemo.put(keys[i], values[i]);
        }
        
        
        
        /* lessen und print */
        $date=prefsdemo.get(String key, "date");
        System.err.println("date: " + $date);    /* &Egrave;&yen;&micro;&ocirc;×&cent;&Ecirc;&Iacute;&iquest;&Eacute;&Ograve;&Ocirc;&Ccedil;&aring;&sup3;&yacute;×&cent;&sup2;á±í&Ouml;&ETH;&micro;&Auml;&sup2;&Icirc;&Ecirc;&yacute;&Iuml;&icirc;*/
    /*    try
          {
             prefsdemo.removeNode();
          } catch (BackingStoreException e)
          {
          } */  }
    }get哪里错了?现在会put,不会get