Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结
Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结
1. 注册表是树形数据库 1
2. 注册表的由来 1
3. Java 操作注册表 2
3.1. 使用Preferences API (限定访问路径了) 2
3.2. 使用JNI 3
3.3. Jregistrykey 推荐 4
3.4. Jregistry 4
4. org.openqa.selenium.os.WindowsUtils 4
4.1. 以及进程管理 4
1. 注册表是树形数据库
树形数据库,但不提供类似SQL的查询接口
2. 注册表的由来
在Windows 3.x操作系统中,注册表是一个极小文件,其文件名为Reg.dat,里面只存放了某些文件类型的
注册表所设定的默认打开方式
应 用程序关联,大部分的设置放在Win.ini、System.ini等多个初始化INI文件中。由于这些初始化文件不便于管理和维护,时常出现一些因 INI文件遭到破坏而导致系统无法启动的问题。为了使系统运行得更为稳定、健壮,Windows 95/98设计师们借用了Windows NT中的注册表的思想,将注册表引入到Windows 95/98操作系统中,而且将INI文件中的大部分设置也移植到注册表中,因此,注册表在Windows 95/98操作系统的启动、运行过程中起着重要的作用。
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
3. Java 操作注册表
3.1. 使用Preferences API (限定访问路径了)
自由访问注册表其他键的值光用 Java 是做不到的,必然方案就是 JNI,
Preferences API并不是为访问Windows注册表而设计的,这是值得指出的一点。
如果程序不关心存储库的细节,只是要找一个存放数据的地方,那么Preferences API很合适。
Preferences API也是有局限的,请您考虑两个问题:
· 一个Java软件需要让用户设置是否和操作系统一起启动,类似的需求还很多。这类需求就是要求Java程序有真正的和相关操作系统协同的能力。这种能力不是Preferences API的设计目标。
3.2. 使用JNI
3.3. Jregistrykey 推荐
3.4. Jregistry
jRegistry通过JNI技术来访问WINDOWS注册表API。
4. org.openqa.selenium.os.WindowsUtils
writeIntRegistryValue
writeStringRegistryValue
runRegQuery
4.1. 以及进程管理
public static void main(String[] args) throws Exception {
Line 50: public static void traceWith(Logger log) {
Line 54: public static void killByName(String name) {
Line 58: public static void tryToKillByName(String name) {
Line 68: public static void kill(String[] cmdarray) throws Exception {
Line 126: private static void killPID(String processID) {
Line 131: public static Map<String, String> procMap() throws Exception {
Line 171: public static synchronized Properties loadEnvironment() {
Line 182: public static String getProgramFilesPath() {
Line 186: public static String getProgramFiles86Path() {
Line 190: private static String getEnvVarPath(String envVar, String defaultValue) {
Line 201: public static ImmutableList<String> getPathsInProgramFiles(String childPath) {
Line 207: private static String getFullPath(String parent, String child) {
Line 211: public static String getLocalAppDataPath() {
Line 220: public static String getEnvVarIgnoreCase(String var) {
Line 230: public static File findSystemRoot() {
Line 250: public static String findWMIC() {
Line 267: public static File findWBEM() {
Line 280: public static String findTaskKill() {
Line 295: public static String findReg() {
Line 319: public static boolean isRegExeVersion1() {
Line 330: public static Class<?> discoverRegistryKeyType(String key) {
Line 358: public static String readStringRegistryValue(String key) {
Line 384: public static int readIntRegistryValue(String key) {
Line 418: public static boolean readBooleanRegistryValue(String key) {
Line 431: public static boolean doesRegistryValueExist(String key) {
Line 452: public static void writeStringRegistryValue(String key, String data)
Line 477: private static String executeCommand(String commandName, String[] args) {
Line 489: public static void writeIntRegistryValue(String key, int data) {
Line 517: public static void writeBooleanRegistryValue(String key, boolean data) {
Line 521: public static void deleteRegistryValue(String key) {
Line 540: private static String runRegQuery(String key) {
Line 556: public static boolean thisIsWindows() {
Line 560: private static class RegKeyValue {
参考
Atitit.各种 数据类型 ( 树形结构, ) 的结构与存储数据库 attilax 总结.doc
转载于:https://www.cnblogs.com/attilax/p/5963697.html
Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结相关推荐
- mysql数据库操作宠物表_mysql数据库及表的基本操作
1. 数据库操作 1.1 创建数据库 # 创建数据库 mysql> create database db_test; # 查看创建好的数据库 mysql> show create data ...
- mysql数据库操作宠物表_mysql数据库之表的操作
语法:1. 修改表名 ALTER TABLE 表名 RENAME 新表名;2. 增加字段 ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件-], ADD 字段名 数据类型 [完 ...
- mysql删除数据表show_数据库与表显示、创建、删除
数据库与表显示.创建.删除 数据库显示 show databases; mysql> show databases; +--------------------+ | Database ...
- wp_terms分类信息表—WordPress数据库研究(2.6.2版本)#8
本文是<WordPress数据库研究(2.6.2版本)> 的第八篇文章,该篇文章对WordPress数据库中的wp_terms分类信息表表做详细介绍,包括了wp_terms分类信息表各个字 ...
- mysql数据库备份还原表_MySQL数据库及表的备份与还原_MySQL
备份 导出数据库所有表结构 mysqldump -uroot -ppassword -d dbname > db.sql 导出数据库某个表结构 mysqldump -uroot -ppasswo ...
- oracle数据库迁移部分表,oracle 数据库之间 表数据的 迁移
主要是 需要将 正式环境的数据库 和测试环境的数据库的 表 数据同步一下,方便测试. 这样的效果, 可以使用 数据库的 备份 , exp imp 等其他的方式, 可是这样的方式, 需要 在 电脑里面 ...
- thinkphp mysql分表_数据库分表和分库的原理及基于thinkPHP的实现方法
为什么要分表,分库: 当我们的数据表数据量,访问量很大,或者是使用频繁的时候,一个数据表已经不能承受如此大的数据访问和存储,所以,为了减轻数据库的负担,加快数据的存储,就需要将一张表分成多张,及将一类 ...
- mysql新闻分表,新闻数据库分表案例 - http://www.netkiller.cn - OSCHINA - 中文开源技术交流社区...
本文节选自<Netkiller Architect 手札> 6.3. 新闻数据库分表案例 这里我通过一个新闻网站为例,解决分表的问题 避免开发中经常拼接表,我采用一个一劳永逸的方法,建立一 ...
- mysql 建表 myisam_数据库建表TYPE=MyISAM 与ENGINE=MyISAM 的区别
TYPE=MyISAM 和 ENGINE=MyISAM 都是设置数据库存储引擎的语句 (老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM). MySQL 5.1为向下 ...
最新文章
- PTA数据结构与算法题目集 6-9 二叉树的遍历
- Java Security:keytool工具使用说明
- CentOS7的firewall和安装iptables
- Android相机的实现
- 进一步掌握linux吧
- Web Service学习笔记(4)
- c语言程序设计和数据结构,C语言程序设计与数据结构实践 闵光太主编.pdf
- 并联系统的失效率公式推导_供暖系统水力平衡率对室温的影响
- Android两个tab吸顶,Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每
- 水晶报表分组分栏_web报表可视化设计器工具推荐
- 4g伪基站如何实现的
- 目标检测(七)--Fast R-CNN
- 从JavaEye社区被迫改名说起(转载他人博客)
- 【Java对象转换】002- Java 对象与 Map 互转
- vim 日常使用高级篇幅
- graphpad多条不同的曲线_GraphPad Prism
- Windows10 64位企业版 1909真机中使Wireshark可以抓取802.1q封装携带tag的数据帧
- MAC VMware Fusion 克隆虚拟机
- ROBOGUIDE软件机床上下料仿真:数控铣床运动机构制作
- Vue实现Google登录