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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)