您的位置:首页 > 编程语言 > Java开发

JAVA写注册表

2016-05-17 16:57 441 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: