jRegistryKey读取注册表的例子及jar包下载

[size=medium] 出于跨平台的考虑,java在当初设计的时候,并没有考虑用java读取windows的注册表。但是其后,开发者经常遇到处理注册表的情况,所以java在后续的jdk中新增了一个折中的设计。即可以让那些实际需要处理注册表的开发者可以满足心愿,又避免开发者过度使用操作注册表的类库,而影响java的跨平台性。
Java的jdk提供的处理注册表的类,只能在HKEY_LOCAL_MACHINE.SOFTWARE.JavaSoft.Prefs对注册表做增删改查的操作.[/size]

[size=medium]例如:[/size]

// save regist flag to regedit
Preferences pre = Preferences.systemRoot().node("/jedmp");
pre.put("regist", "regist的信息");
//read and print regist flag
System.out.print(pref.get("regist","regist not found"));

[size=medium] 实际开发者可能希望,java不要有这样的限制,而可以直接操作windows的所有注册表.java虽然没有直接满足我们的要求,但是第三方的jRegistryKey却可以帮助我们.
首先,从附件中将jRegistryKey.jar和jRegistryKey.dll下载下来.注意,jRegistryKey.dll文件要放在项目的根目录下.然后即可直接操作windows的全部注册表内容了.[/size]

[size=medium]例如:[/size]

// create a new key, "Test", under HKLM
RegistryKey r = new RegistryKey(RootKey.HKEY_LOCAL_MACHINE, "Test");
if(!r.exists()) {
r.create();
} // if

// create value entries
RegistryValue v = new RegistryValue("aString", ValueType.REG_SZ, "test");
r.setValue(v);

v.setName("aDword");
v.setType(ValueType.REG_DWORD);
v.setData(new Integer(0x1001001));
r.setValue(v);

// read value entries
Iterator i = r.values();
while(i.hasNext()) {
v = (RegistryValue)i.next();
System.out.println(v.toString());
} // while

// delete registry key
r.delete();

[size=medium]对于java操作注册表更详细的说明,请见[/size]
[url]http://www.iteye.com/topic/82291[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值