Java通过CMD方式读取注册表任意键值对代码实践
- 更新时间:2022-07-22 09:09:50
- 编辑:蒲惜儿
-
数据结构与抽象:Java语言描述
- 大小:131 MB
- 发布人:毋浩波
- 下载:数据结构
需要读取如图所示注册表【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); /** * <pre> * 读取注册表指定节点所有的键值对 * </pre> * @author 北北 * @date 2019年6月19日下午8:43:56 * @param nodePath * @return */ public static Map<String, String> readNode(String nodePath) { Map<String, String> 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; } /** * <pre> * 读取注册表指定节点指定key的值 * </pre> * @author 北北 * @date 2019年6月19日下午8:43:24 * @param nodePath * @param key * @return */ public static String readValue(String nodePath, String key) { Map<String, String> 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机器学习
大小:80.7 MB -
Java程序设计教程
大小:1.18 MB -
Java面向对象程序设计
大小:63.5 KB -
《Java高并发核心编程 卷2:多线程、锁、JMM、JUC、高并发设计模式》源代码
大小:3.35 MB -
软件设计模式:Java版
大小:145 MB
相关教程
-
java中throws实例用法详解
给网友朋友们带来一篇关于java的教程,在本篇文章里小编给大家分享了一篇关于java中throws实例用法详解,有兴趣的朋友们可以参考学习下。
发布时间:2022-07-05java中throws的使用
-
Java常用工具类—集合排序
给大家整理了关于Java的教程,这篇文章主要介绍了Java集合排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
发布时间:2022-06-13
-
Eclipse中使用Maven创建Java Web工程的实现方式
给网友们整理关于Java Web的教程,这篇文章主要介绍了Eclipse中使用Maven创建Java Web工程的实现方式的相关资料,希望通过本文能帮助到大家,让大家实现这样的方式,需要的朋友可以参考下
发布时间:2022-07-20
-
java正则表达式匹配所有数字的案例
为网友们分享了关于java的教程,这篇文章主要介绍了java正则表达式匹配所有数字的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
发布时间:2022-06-24java正则表达式匹配数字
-
带你深入概括Java!六、方法和方法重载!(推荐)
给大家整理一篇关于Java的教程,这篇文章主要介绍了Java方法和方法重载,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
发布时间:2022-07-05
-
java实现上传网络图片到微信临时素材
为网友们分享了关于java的教程,这篇文章主要为大家详细介绍了java实现上传网络图片到微信临时素材,网络图片上传到微信服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
发布时间:2022-06-22
-
详解Java中HashSet和TreeSet的区别
给大家整理一篇关于Java的教程,这篇文章主要介绍了详解Java中HashSet和TreeSet的区别的相关资料,需要的朋友可以参考下
发布时间:2022-06-23