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
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
相关文章推荐
- JAVA获取资源的方法
- Codeforces 66A Petya and Java
- java调用可执行文件
- 自己动手实现Spring View
- [疯狂Java]数组:Arrays(数组工具类)
- JAVA琐碎笔记
- java操作<Map转换List——>list集合重新排序—>List集合转换成JSON>
- myeclipse常用快捷键
- myeclipse常用快捷键
- JAVA中字符集详解
- eclipse快捷键冲突解决办法
- Java--银行账户存取款线程设计1(交互线程)
- java发送email
- 【软件测试】Java中Selenium Webdriver的使用
- 创建完美SDK的10个技巧
- mybatis批量插入与批量更新。
- java实现ftp文件的上传与下载
- java中关于小数的四舍五入问题
- java学习个人笔记---静态内部类
- JAVA设计模式(10):结构型-组合模式(Composite)