根据文件名读取配置文件

// 根据文件名读取配置文件,文件后缀名必须为.properties
// XXXX.properties配置文件放在项目 resources 下
public synchronized static void init(String propertiesFileName) throws Exception {
    Properties props = new Properties();
    PropertiesConfiguration propsConfig=new PropertiesConfiguration();
    //默认的编码格式是ISO-8859-1,所以才在读取文件之前先设置了编码格式
    propsConfig.setEncoding("UTF-8");
    propsConfig.load(propertiesFileName);
    String jdbc_con=propsConfig.getString("jdbc_con");
    String alipaykay=propsConfig.getString("alipaykay");
    System.out.println(jdbc_con+"---------------------"+alipaykay);
    //值得一提的是。propsConfig的默认分割符是',',换句话说,如果值使用','分割,使用getString去取的话是会抛出异常的,因          为这被认为是个数组,分割符可以使用setListDelimiter设置。
    props.setProperty(jdbc_con,jdbc_con);
}
第二种方式
/**
 * 获取指定配置文件中所以的数据
 * [@param](https://my.oschina.net/u/2303379) propertyName
 *        调用方式:
 *            1.配置文件放在resource源包下,不用加后缀
 *              PropertiesUtil.getAllMessage("message");
 *            2.放在包里面的
 *              PropertiesUtil.getAllMessage("com.test.message");
 **/
public static Map<String,Object> getAllMessage(String propertyName) {
    // 获得资源包
    ResourceBundle rb = ResourceBundle.getBundle(propertyName.trim());
    // 通过资源包拿到所有的key
    Enumeration<String> allKey = rb.getKeys();
    // 遍历key 得到 value
    Map<String,Object> map = new HashMap<>();
    while (allKey.hasMoreElements()) {
        String key = allKey.nextElement();
        String value = (String) rb.getString(key);
        map.put(key,value);
    }
    return map;
}

如果使用的Spring框架,使用@Value注解方便简单

转载于:https://my.oschina.net/zzp123456/blog/1798593

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值