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 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题