读properties和写properties文件

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;
     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值