新一代网络配置工具iproute—命令篇(上)[转]
2008-05-05 23:22
302 查看
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.HashMap; import java.util.Map; public final class ConfigUtils { public static Map<String, String> propMap = null; /** 初始化 */ public static void init(String path){ propMap = new HashMap<String, String>(); BufferedReader br = null; try { br = new BufferedReader(new FileReader(path)); String line = ""; while((line = br.readLine()) != null){ if(line.indexOf("=") != -1 && !line.trim().startsWith("#") && !line.trim().startsWith("//")){ String[] lineArr = line.split("="); propMap.put(lineArr[0].trim(), lineArr[1].trim()); } } } catch (Exception e) { e.printStackTrace(); } finally { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } /** * 获取所有键值对组成的Map * @param path 配置文件所在路径 * @return */ public static Map<String, String> getPropMap(String path){ // if(propMap == null || propMap.isEmpty()){ init(path); // } return propMap; } /** * 获取属性值 * @param path 配置文件所在路径 * @param key 属性名 * @return */ public static String getPropValue(String path, String key){ // if(propMap == null || propMap.isEmpty()){ init(path); // } return propMap.get(key); } /** * 设置某个属性的值 * @param path * @param key * @param value */ public static void setPropValue(String path, String key, String value){ Map<String, String> map = new HashMap<String, String>(); map.put(key, value); setPropValues(path, map); } /** * 根据Map设置属性 * @param path * @param map */ public static void setPropValues(String path, Map<String, String> map){ BufferedReader br = null; BufferedWriter bw = null; try { br = new BufferedReader(new FileReader(path)); StringBuffer sb = new StringBuffer(); String line = ""; // 读取文件并对替换文件内容 while((line = br.readLine()) != null){ if(line.indexOf("=") != -1 && !line.trim().startsWith("#") && !line.trim().startsWith("//")){ String[] lineArr = line.split("="); String key = lineArr[0].trim(); String newValue = map.get(key); if(null != newValue && !"".equals(newValue)){ sb.append(key).append(" = ").append(newValue).append("\r\n"); }else{ sb.append(line).append("\r\n"); } }else{ sb.append(line).append("\r\n"); } } br.close(); bw = new BufferedWriter(new FileWriter(path)); // 写入文件 bw.write(sb.toString()); } catch (Exception e) { e.printStackTrace(); } finally { try { br.close(); bw.close(); } catch (IOException e) { e.printStackTrace(); } } } /** */ /** * 程序测试 */ public static void main(String[] args) { } }
相关文章推荐
- 新一代网络配置工具iproute
- ip命令_Linux ip 命令用法详解:网络配置工具
- mii-tool命令_Linux mii-tool 命令用法详解:配置网络设备协商方式的工具
- Linux学习命令汇总十——linux网络管理及配置和网络检测工具
- 【Unix/Linux】【命令】【网络操作工具】网络配置工具——ifconfig命令
- ifconfig命令--查看、配置、启用或禁用网络接口的工具
- linux配置网卡IP地址命令详细介绍及一些常用网络配置命令
- dos命令之 ipconfig (网络诊断与配置)使用详解
- dos命令之 ping (网络诊断与配置) 使用详解
- linux网络配置命令之ifconfig、ip和route
- linux下的网络配置命令ipconfig命令详解
- linux 无线网络配置工具wpa_supplicant与wireless-tools
- Linux操作系统下的一些简单网络配置命令
- Linux网络配置基础及命令使用
- Nethogs 命令使用--网络带宽占用情况查看工具
- linux网络属性配置相关命令1
- 网络堆栈配置工具
- linux 命令学习-网络相关配置
- 【Linux】命令配置网络地址
- RHEL 5服务篇—常用网络配置命令