JAVA注册表读取写入删除

时间:2022-12-07 15:33:40

import java.util.prefs.BackingStoreException;
import java.util.prefs.Preferences;

/**
* @JAVA04.注册表.java
* @author 当前用户:Endless作者 :Endless
* @version 创建时间:2017年7月27日 上午9:01:02
* Windows注册表写入读取删除
* 仅[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs]
*/

public class Reg {

public static void main(String[] args) {
write("节点","名称","节点数据","子节点","子节点名称","子节点数据"); //空参数用""代替 不可用null
System.out.println("数据:"+ read("/节点","名称")); //读取节点 键值数据
System.out.println("数据:"+ read("/节点/子节点","子节点名称")); //读取子节点键值数据
try {
remove("/节点/子节点","子节点名称");//删除子节点键值对
remove("/节点/子节点",""); //删除子节点
remove("/节点","节点名称"); //删除节点键值对
remove("/节点",""); //删除节点
} catch (BackingStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static void write(String node,String name,String date,String childNode,String childname,String childdata) {
try {
Preferences nodes = Preferences.systemRoot().node(node); //创建节点
Preferences childnode = nodes.node(childNode); //创建子节点
nodes.put(name, date); //写入节点键值对的名称和数据
childnode.put(childname,childdata); //写入子节点键值对的名称和数据
} catch (Exception e) {
}
}
static String read(String node,String name){

Preferences nodes = Preferences.systemRoot().node(node);

return nodes.get(name, "");
}
static void remove(String node,String name) throws BackingStoreException{
Preferences nodes = Preferences.systemRoot().node(node);
if(name == ""){
nodes.removeNode();
}else{
nodes.remove(name);
}
}
}

JAVA注册表读取写入删除