以前获取. properites类型的配置文件是通过 getResourceAsStream 方式获取。最近使用了ResourceBundle 类来获取. properites 类型配置文件,感觉比较方便快捷,只需要将文件或文件的资源路径传递给里面的方法,就可以通过getString 方法就可以获取key对应的Value,感觉是相当的方便啊。下面贴出代码来和大家分享下。

import java.util.ResourceBundle;

/**
 * 用来测试获取配置文件的类
 * @author BaiKeyang
 *
 */
public class ResourceUtils {
	
	public static String getValue(String file, String key) {
        String value;
        // 未取到值,从properites文件中查找
        try {
        	ResourceBundle bundle = ResourceBundle.getBundle(file);
            value = bundle.getString(key);
            if (value==null){
                throw new RuntimeException("没有该属性的值:"+key);
            }
            value = new String(value.getBytes("ISO-8859-1"), "UTF-8");
            return value;
        } catch (Throwable e) {
        	System.err.println(e);
            return null;
        }
    }

	public static void main(String[] args) {
		String resourceFile = "config.dataBase";
		//      创建一个默认的ResourceBundle对象   
		//        ResourceBundle会查找包config下的dataBase.properties的文件   
		//        config是资源的包名,它跟普通java类的命名规则完全一样:   
		//        - 区分大小写   
		//        - 扩展名 .properties 省略。就像对于类可以省略掉 .class扩展名一样   
		//        - 资源文件必须位于指定包的路径之下(位于所指定的classpath中)   
		//        假如你是在非Web项目中使用,则一定要写资源文件的路径,也就是包路径必须存在。
		//        如果是Web项目,不写包路径可以,此时将资源文件放在WEB-INF\classes\目录下就可以。
		String url = getValue(resourceFile, "db.url");
		System.out.println(url);
	}

}

我在项目的config资源包下自己写了个dataBase.properties 的配置文件,在dataBase.properties 定义了 key为db.url、db.username、db.password 的三组数据。然后在main方法中直接运行获得db.url对应的值了。

标签: ResourceBundle获取properites配置文件信息, 快速获取properties配置文件, java获取properites

已有 4 条评论

  1. 加油 :razz:

    1. baikeyang

      嗯,谢谢。

  2. shui7777

    希望你的博客如这个夏天一样火热。

    1. baikeyang

      嗯,谢谢。

添加新评论