public Map<String,String> readPropertiesFile(String fileName){ // 读取property文件内容并写入hashmap
Map<String,String> propertiesMap = new HashMap<String, String>();
String path = "/opt/search/resourse/" + fileName + ".properties";
Properties props = new Properties();
try {
FileInputStream in = new FileInputStream(path);
props.load(new InputStreamReader(in, "UTF8"));
for (Object key : props.keySet()){
String keyString = (String) key;
propertiesMap.put(keyString, props.getProperty(keyString));
}
in.close();
}catch(IOException e){
logger.error("error happened in [readPropertiesFile] !!!读取properties配置文件过程出现错误!!!");
logger.error(e.getMessage(), e);
}finally {
IOUtils.closeQuietly(in);
}
return propertiesMap;
}
/**
* 更新(或插入)一对properties信息(主键及其键值)
* 如果该主键已经存在,更新该主键的值;
* 如果该主键不存在,则插件一对键值。
* @param fileName 文件名
* @param key 属性名
* @param keyvalue 键值
*/
public static boolean writeProperties(String fileName, String key, String keyvalue) {
try {
// 调用 Hashtable 的方法 put,使用 getProperty 方法提供并行性。
// 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
String profilepath = "/opt/search/resourse/" + fileName + ".properties";
OutputStream fos = new FileOutputStream(profilepath);
props1.setProperty(key, keyvalue);
// 以适合使用 load 方法加载到 Properties 表中的格式,
// 将此 Properties 表中的属性列表(键和元素对)写入输出流
props1.store(fos, "Update version value");
} catch (IOException e) {
System.err.println("属性文件更新错误");
return false;
}finally {
IOUtils.closeQuietly(in);
}
return true;
}
读properties和写properties文件
最新推荐文章于 2022-05-31 00:07:53 发布