/**
* 修改properties文件,参数是map键值集合,根据键修改值,如果没有键值对就创建
*
* @param filePath
* 文件路径
* @param keyVal
* 内容参数
* @param over是否覆盖,true的话就覆盖,false的话就是更新
* @return
* @throws IOException
*/
public static boolean writeProperties(String filePath,
Map<String, String> keyVal, boolean over) throws IOException {
boolean flag = false;
Properties props = new Properties();
InputStream ips = null;
ips = new BufferedInputStream(new FileInputStream(filePath));
props.load(ips);
ips.close();
OutputStream fos = null;
if (over) {
// 将新添加的内容覆盖原来的内容
fos = new FileOutputStream(filePath);
// 将keys转换成数组
// 将键值逐一添加到property中
for (Object str : keyVal.keySet().toArray()) {
props.setProperty(str.toString(), keyVal.get(str));
}
props.store(fos, "set");
flag = true;
fos.close();
} else {
fos = new FileOutputStream(filePath);
for (Object key : keyVal.keySet().toArray()) {
System.out.println(keyVal.get(key).toString());
props.setProperty(key.toString(), keyVal.get(key));
}
props.store(fos, "");
flag = true;
fos.close();
}
return flag;
}