Use the Registry to store informations (Preferences API)
With JDK1.4, the Preferences class can use the Windows registry (on Unix, a file is used) : import java.util.prefs.Preferences;
public class UsingReg {
public static final String REALKEY= "com.rgagnon.foo";
public static void main(String[] args){
new UsingReg().doit();
}
public void doit() {
// write into HKCU/Software/Javasoft/Prefs/com.rgagnon.foo
Preferences p = Preferences.userRoot();
p.put(REALKEY, "bar");
// read back from HKEY_CURRENT_USER
System.out.println(p);
System.out.println(p.get(REALKEY, "HKCU houston we have a problem"));
// write into HKLM/Software/Javasoft/Prefs/com.rgagnon.foo
p = Preferences.systemRoot();
p.put(REALKEY, "barbar");
// read back from HKEY_LOCAL_MACHINE
System.out.println(p);
System.out.println(p.get(REALKEY, "HKLM houston we have a problem"));
}
}
JDK1.4引入了Preferences类, 用于设置用户的首选项,
对于Windows平台就是操作注册表了, 下面的程序就可以往注册表里写几个值,
运行完毕后, 打开regedit, 搜寻一下, 看看注册表里是不是有了变化了^_^
(下面注释掉的那段代码给恢复, 就能把写入的注册键值删除, 很方便啊)
至于读注册表项, 比写还方便, 查JDK API文档吧..
// PrefsDemo.java
import java.io.*;
import java.util.prefs.*;
public class PrefsDemo {
public static void main(String args[])
{
String keys[] =
{"sunway","copyright","author"};
String values[] =
{"sunway technology company","copyright 2002","turbochen@163.com"};
/* 建立一个位于user root下的/com/sunway/spc节点参数项*/
Preferences prefsdemo =
Preferences.userRoot().node("/com/sunway/spc");
/* 储存参数项*/
for (int i=0 ; i < keys.length; i++)
{
prefsdemo.put(keys[i], values[i]);
}
/* 导出到XML文件 */
try
{
FileOutputStream fos = new FileOutputStream("prefsdemo.xml");
prefsdemo.exportNode(fos);
} catch (Exception e)
{
System.err.println("Cannot export nodes: " + e);
}
/* 去掉注释可以清除注册表中的参数项*/
/*try
{
prefsdemo.removeNode();
} catch (BackingStoreException e)
{
}*/
}
}