weixin_42510820 2014-12-01 16:26
浏览 1534
已采纳

如何动态修改属性文件×××.properties的某些内容

我们在项目中可以把一些属性配置到×××.properties中,比如数据库连接信息。现在问题来了,我的属性文件中有一些是需要根据后台得到的数据来动态改变的,请问这个要怎么实现?java或者flex都行。

  • 写回答

1条回答 默认 最新

  • 来一盘地三鲜 2014-12-01 17:37
    关注

    刚好最近也涉及到这里了,给你个方法吧:
    [code="java"]private void editProperties(HashMap map){
    String ret = "0";
    try {

        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    
        //获取配置文件
        InputStream in = classLoader.getResource("xxx.properties").openStream();
        Properties props = new Properties();
        props.load(in);
    
        //重新装入配置文件信息
        Iterator<Entry<String, String>> it = map.entrySet().iterator();
        String key = "";
        String value = "";
        while(it.hasNext()){
            Entry<String, String> e = it.next();
            key = e.getKey();
            value = e.getValue();
            if(value.equals("")){continue;}
    
            if(key.equals("要修改的参数")){
                props.setProperty("参数名",值);
            }else if(key.equals("xyz")){
                //do something;
            }else{
                //do something;
            }
        }
        in.close();
    
        String path = classLoader.getResource("xxx.properties").getPath();
        FileOutputStream fos = new FileOutputStream(path);
        //重新保存配置文件信息
        props.store(fos, "edit from jsp page time:"+new Date());
        ret = "1";
    

    }catch (Exception e) {
    e.printStackTrace();
    }
    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 聚类分析或者python进行数据分析
  • ¥15 如何用visual studio code实现html页面
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?