JAVA写注册表

来源:互联网 发布:linux 编译安装php7.1 编辑:程序博客网 时间:2024/05/16 06:20
java对注册表的操作,在jdk1.4以前的版本中,那是不可能的,只能用JNI来实现;然而jdk1.4之后提供的prefs包可以操作windows注册表,不过定死了root只在SOFTWARE/JavaSoft/prefs下,估计也是出于这种两难吧,又要保证所谓平台无关,还要照顾大家对windows的依赖.
import java.util.prefs.*;
//在注册表的HKEY_LOCAL_MACHINE\Software\JavaSoft\prefs下写入注册表值.
Preferences pre = Preferences.systemRoot().node("/javaplayer"); 
pre.put(keys,values);

1:你的节点的首字母不要大写,不然在注册表中的项前就加了一个“/”;
2:注册表中的值也可以导入到一个XML文件中,具体方法见有关文档.
3:如果把代码中的Preferences pre = Preferences.systemRoot().node("/javaplayer"); 换成Preferences pre = Preferences.userRoot().node("/javaplayer");则相应的 HKEY_LOCAL_MACHINE就成为HKEY_LOCAL_USER

其实换个角度,可以用java执行dos命令的方式,用"reg add "等命令操作任何一个注册表值,此时丧失了跨平台能力,注意,此时,如果注册表中有类似"%1"这样的参数,java执行的命令中也写作%1,而在批处理中需写作%%1
0 0
原创粉丝点击