以前获取. 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对应的值了。
希望你的博客如这个夏天一样火热。
嗯,谢谢。
加油 :razz:
嗯,谢谢。