对Properties文件的增删改查操作工具类
2015-10-08 15:37
477 查看
对Properties文件的增删改查操作工具类,保留以备后用。
package org.svn.test; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; public class PropertiesHandle { //根据key读取value public static String readValue(String filePath,String key) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream(new FileInputStream(filePath)); props.load(in); String value = props.getProperty (key); System.out.println(key+":"+value); return value; } catch (Exception e) { e.printStackTrace(); return null; } } //根据Key移除value public static boolean removeValue(String filePath,String key) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream(new FileInputStream(filePath)); props.load(in); OutputStream fos = new FileOutputStream(filePath); props.remove(key); props.store(fos, "Delete '" + key + "' value"); return true; } catch (Exception e) { e.printStackTrace(); return false; } } //读取properties的全部信息 @SuppressWarnings("unchecked") public static List<String> readProperties(String filePath) { List<String> svnList=new ArrayList<String>(); Properties props = new Properties(); try { InputStream in = new BufferedInputStream (new FileInputStream(filePath)); props.load(in); Enumeration en = props.propertyNames(); while (en.hasMoreElements()) { String key = (String) en.nextElement(); if (key.contains("_")&&!key.contains("DAS")) { svnList.add(key); } //String Property = props.getProperty (key); //System.out.println(key+":"+Property); } } catch (Exception e) { e.printStackTrace(); } return svnList; } /*** * * @param filePath * @return 二维数组 * 读取所有服务svn的键值对 */ public static String[][] readAllProperties(String filePath) { Map<String,String> map = new HashMap<String, String>(); String[][] ss=null; Properties props = new Properties(); try { InputStream in = new BufferedInputStream (new FileInputStream(filePath)); props.load(in); Enumeration en = props.propertyNames(); while (en.hasMoreElements()) { String key = (String) en.nextElement(); //key String Property = props.getProperty (key); //value map.put(key, Property); } if (null!=map) { Set<String> set = map.keySet(); Iterator<String> it = set.iterator(); ss = new String[map.size()][2]; for (int i = 0; i < map.size(); i++) { ss[i][0] = it.next(); ss[i][1] = map.get(ss[i][0]); } for (int i = 0; i < ss.length; i++) { for (int j = 0; j < ss[i].length; j++) { System.out.println(ss[i][j]+"\t"); } } } } catch (Exception e) { e.printStackTrace(); } return ss; } //写入properties信息 public static void writeProperties(String filePath,String parameterName,String parameterValue) { Properties prop = new Properties(); try { InputStream fis = new FileInputStream(filePath); //从输入流中读取属性列表(键和元素对) prop.load(fis); //调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。 //强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。 OutputStream fos = new FileOutputStream(filePath); prop.setProperty(parameterName, parameterValue); //以适合使用 load 方法加载到 Properties 表中的格式, //将此 Properties 表中的属性列表(键和元素对)写入输出流 prop.store(fos, "Update '" + parameterName + "' value"); } catch (IOException e) { System.err.println("Visit "+filePath+" for updating "+parameterName+" value error"); } } }
相关文章推荐
- Opencv对XML和YAML文件实现I/O操作
- linux kernel docs
- 栈——PowerShell版
- linux下select使用
- Linux进程间通信方式
- 什么是shell
- tomcat6和7用户配置以及内存配置
- Ubuntu(Linux)下设置环境变量的方法
- Updating to SVN 1.8 for Mac OS X 10.10 Yosemite (svn client is too old to work with working copy)
- linux快速入门 1.1命令行操作
- 个人Linux学习笔记(三)
- linux中patch的用法
- opencv第一次成功人脸检测(初级)
- .net在linux下部署项目
- ksh 控制键
- 软件测试人员需要精通的开发语言(3)--- Linux
- hadoop2.6.0版本集群环境搭建
- 2015弱校联萌十一大决战之背水一战 Binary Operations 状态压缩dp
- hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解
- opencv日文网站