Yes, it is possible now to read/write registry from java programs without native (JNI) code !
Lets write something to registry
void sample01() throws IOException
{
Reg reg = new Reg();
Reg.Key key = reg.add("HKEY_CURRENT_USER\\hello");
key.put("world", "Hello World !");
reg.write();
This code will create a "hello" key in HKEY_CURRENT_USER hive, and put "Hello World !" with name "world".
Lets read something from Control Panel settings...
void sample02() throws IOException
{
Reg reg = new Reg("HKEY_CURRENT_USER\\Control Panel");
Reg.Key cp = reg.get("HKEY_CURRENT_USER\\Control Panel");
Reg.Key sound = cp.getChild("Sound");
String beep = sound.get("Beep");
Lets create a new environment variable under current users environment....
void sample03() throws IOException
{
Reg reg = new Reg();
Reg.Key env = reg.add("HKEY_CURRENT_USER\\Environment");
env.put("SAMPLE_HOME", "c:\\sample");
reg.write();
Thats it ! Now your environment contains variable SAMPLE_HOME ! Unfortunetly you have to restart Windows to see this variable.... but hey, we crated new environment variable from java without any native code !