java代码操作注册表_java操作注册表

zz from http://java.luanzhao.cn/9/75719190364.html

Java操作windows注册表

Java语言就以其平台独立性而受到了许多编程者的选择,如果让它来操作注册表的话,好像

就失去了它的这个特点,然而在实际的编程中,有时候我们很需要在注册表中存储软件的有

关信息,以方便下次启动的时候初始化或者检查注册信息(假设我们在windows平台下)!那么

究竟用java可以操作windows的注册表吗?

在jdk1.4以前的版本中,那是不可能的,只能用JNI来实现,然而在1.4以及以后的版本中我们

就可以用java.util.prefs包中的Preferences这个类来进行有关的操作!有关Preferences的

有关构造函数和方法我在这里就不多说了,你可以去参考java的API文档!我就直接说说怎么

来用代码实现吧!

首先得到Preferences的一个对象,这个对象就规定了你要在注册表的哪个位置写入信息,即

节点.然后再用put(String key,String value)或者putInt(),tDouble()...等来给有关项赋

值.

下面我就以我的java媒体播放器中的代码为例来详细说明一下:

import java.util.prefs.*;

public class Registery{

String keys = {"version","initial","creator"};

String values = {"1.3","ini.mp3","caokai1818@sina.com"};

//把相应的值储存到变量中去

public void writeValue(){

//在注册表的HKEY_LOCAL_MACHINE\Software\JavaSoft\prefs下写入注册表值.

Preferences pre = Preferences.systemRoot().node("/javaplayer");

for(int i = 0; i < keys.length; i++){

pre.put(keys,values);

}

//上面也就规定了version=1.3,initial=ini.mp3,creator=caokai18182sina.com

}

public static void main(String args){

Registery reg = new Registery();

reg.writeValue();

}

}

执行上面的代码则在注册表的HKEY_LOCAL_MACHINE\Software\JavaSoft\prefs\javaplayer

项下写入了有关值.

最后再说明几点:

1:你的节点的首字母不要大写,不然在注册表中的项前就加了一个“/”;

2:注册表中的值也可以导入到一个XML文件中,具体方法见有关文档.

3:如果把代码中的Preferences pre = Preferences.systemRoot().node("/javaplayer");

换成Preferences pre = Preferences.userRoot().node("/javaplayer");则相应的

HKEY_LOCAL_MACHINE就成为HKEY_LOCAL_USER

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值