注册表java参数_Java通过CMD方式读取注册表任意键值对代码实践
需要读取如图所示注册表【hkey_local_machine\software\easydrv7】节点下的【datetime】的值
直接上代码:
package com.beibei.common.util.cmd;
import java.io.bufferedreader;
import java.io.ioexception;
import java.io.inputstreamreader;
import java.util.hashmap;
import java.util.map;
import org.slf4j.logger;
import org.slf4j.loggerfactory;
/**
* 注册表操作工具类
* @author 北北
* @date 2019年6月19日下午8:21:02
*/
public class registryutil {
private static logger logger = loggerfactory.getlogger(registryutil.class);
/**
*
* 读取注册表指定节点所有的键值对
*
* @author 北北
* @date 2019年6月19日下午8:43:56
* @param nodepath
* @return
*/
public static map readnode(string nodepath) {
map regmap = new hashmap<>();
try {
process process = runtime.getruntime().exec("reg query " + nodepath);
process.getoutputstream().close();
inputstreamreader isr = new inputstreamreader(process.getinputstream());
string line = null;
bufferedreader ir = new bufferedreader(isr);
while ((line = ir.readline()) != null) {
string[] arr = line.split(" ");
if(arr.length != 4){
continue;
}
regmap.put(arr[1], arr[3]);
}
process.destroy();
} catch (ioexception e) {
logger.error("读取注册表失败, nodepath: " + nodepath, e);
}
return regmap;
}
/**
*
* 读取注册表指定节点指定key的值
*
* @author 北北
* @date 2019年6月19日下午8:43:24
* @param nodepath
* @param key
* @return
*/
public static string readvalue(string nodepath, string key) {
map regmap = readnode(nodepath);
return regmap.get(key);
}
public static void main(string[] args) {
string paramvalue = registryutil.readvalue("hkey_local_machine\\software\\easydrv7", "datetime");
system.out.println(paramvalue);
}
}
其原理是通过cmd命令【reg query hkey_local_machine\software\easydrv7】 读取节点全部键值对,再通过解析得到我们所需要的【datetime】的值。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
希望与广大网友互动??
点此进行留言吧!
注册表java参数_Java通过CMD方式读取注册表任意键值对代码实践相关推荐
- java读取注册表_Java通过CMD方式读取注册表任意键值对代码实践
需要读取如图所示注册表[HKEY_LOCAL_MACHINE\SOFTWARE\EasyDrv7]节点下的[DateTime]的值 直接上代码: package com.beibei.common.u ...
- java trove_[XMLer的生活]可使用基本类型作为键值的Java集合类-Trove 集合类
性能观察:Trove 集合类更小.更普通.更易上手 级别: 中级 Trove 是一种开放源代码的 Java 集合包,提供了核心 Java 集合类的高效替代品,特别针对于实现其键或值是基本类型的集合.本 ...
- SpringMVC通过注解方式读取properties文件中的值
为什么80%的码农都做不了架构师?>>> 本方法是结合Java配置及XML配置来完成. 首先定义XML配置文件 app.xml: <?xml version=" ...
- Java删除properties配置文件中指定键值的代码
将开发过程较好的一些内容片段记录起来,下面的内容段是关于Java删除properties配置文件中指定键值的内容. public static boolean deleteKeyValue4Pro(S ...
- android 获取url中的参数,验证邮箱格式,截取字符串中键值对的值,String的字节长度,去空格,替换字符
String ss="hello"; byte[] buff=ss.getBytes(); int f=buff.length; System.out.println(f); 字节 ...
- java处理表单变量_Java自学之SpringMVC:接收表单数据
学习目的:使用SpringMVC接收表单数据. Part 1 新建一个pojo. package pojo; public class Product { private int id; privat ...
- 替代java参数_java – 使用Void作为可选参数的更好的替代方法
我有一个接口指定方法,它采用泛型类型作为输入,用于创建URL. interface UrlGenerator { String prepareUrl( T input ); } 有一个实现不需要参数. ...
- linux shell java 参数_java调用linux中的shell脚本传递参数并返回执行结果
[刚接触 linux下的开发,最近遇到java调用shell脚本的问题,找到一个比较适合菜鸟级的方法,转述如下: 在需要运行的SHELL脚本第一行添加 #!/bin/sh然后在终端运行 chmod ...
- rotate java 参数_java rotateLeft()和rotateRight()方法
这两个方法实现的思想是循环左移和循环右移.首先来理解这两个概念 循环移位就是把数值变成二进制,然后循环移动的过程:换句话说,循环移位就是将移出的低位放到该数的高位(循环右移)或把移出的高位放到该数的低 ...
- soap java实现_java使用soap方式简单实现webservice (二)
[调用webservice,可以首先根据wsdl文件生成客户端,或者直接根据地址调用,下面讨论直接调用地址的两种不同方式:axis和Soap,soap方式主要是用在websphere下 axis方式调 ...
最新文章
- C语言 遍历字符串数组
- Intel RealsenseD435 color图与depth图的两种对齐(align)方式
- proteus 8.4安装教程
- 《Effective C#》Item 21:用委托实现回调
- 那些用Go实现的分布式事务框架
- docker 与宿主共享文件
- iSPRINT:Google 最高能的创新加速课程,清华老师都来给点赞!
- 2019蓝桥杯A组:平方和(枚举,筛选)
- 计算机房安全防范措施,机房安全防护方案
- 将PDF文件进行文件的编辑需要利用什么软件
- 基于Leaflet 的Web地图客户端应用程序开发框架
- thinkpad T480安装WIN7系统NVM固态硬盘+INTEL HD620显卡
- sql日期格式转换函数_SQL转换日期函数和格式
- db2 日期英式写法_英式与美式日期写法 基数与序数词辨析
- 基于组态王和三菱PLC的modbus仿真(七)——RS指令
- 【物体检测快速入门系列 | 01 】基于Tensorflow2.x Object Detection API构建自定义物体检测器
- 2017.08.12(2) 实例:系统登陆
- php 获取微博cookie,获取新浪微博cookie
- LiteOS学习笔记-5通信模组之LiteOS的SAL及socket编程
- linux内核栈与用户栈及调用栈观察方法