java代码:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.Properties; /**
* <p>properties文件读写工具类<p>
* @version 1.0
* @author li_hao
* @date 2017年6月12日
*/
public class PropertyUtil { /**
* properties文件根据主键key读取主键的值value
* @param filePath 属性文件名
* @param keyName 键名
*/
public static String readProperty(String proFileName,String keyName){
String retStr = null;
try {
Properties prop = new Properties();
Class clazz = PropertyUtil.class;
// 开头的'/'表示classpath的根目录,这个是表示从classpath的根目录中开始查找资源,如果开头没有'/',表示从当前这个class所在的包中开始查找
InputStreamReader fileReader = new InputStreamReader(clazz.getResourceAsStream("/"+proFileName),"UTF-8");
prop.load(fileReader);
retStr = prop.getProperty(keyName);
} catch (IOException e) {
e.printStackTrace();
}
return retStr;
} /**
* 更新properties文件的键值对
* 如果该主键已经存在,更新该主键的值;
* 如果该主键不存在,则插入一对键值。
* @param proFileName 配置文件名称
* @param keyName 键名
* @param keyValue 键值
* @return
*/
public static boolean writeProperty(String proFileName,String keyName,String keyValue){
boolean flag = false;
try {
Class clazz = PropertyUtil.class;
String filePath = clazz.getResource("/"+proFileName).getPath();
System.out.println(filePath);
Properties prop = new Properties();
prop.load(new FileInputStream(filePath)); OutputStream oFile = new FileOutputStream(filePath);
prop.setProperty(keyName, keyValue);
prop.store(oFile, "Update '" + keyName + "' value");
oFile.close();
flag = true;
} catch (IOException e) {
e.printStackTrace();
}
return flag;
} }
05-11 11:05