`

Java 常用API的运用,效率及技巧八

    博客分类:
  • java
 
阅读更多

8ResourceBundle, Properties

ResourceBundle开发一个项目, 配置文件是少不了的, 一些需要根据环境进行修改的参数, 都有得放到配置文件中去, Java中一般是通过一个properties文件来实现的, 这个文件以properties结尾。 内部结构是二维的, key=value的形式存在。 如下:

options.column.name.case=1

options.column.bean.serializable=1

options.column.bean.defaultconstructor=1

options.column.method.setter=1

options.general.user.version=1.0

database.connection[0]=csc/csc@localhost_oci8

database.connection[1]=cscweb/cscweb@localhost_thin

 

ResourceBundle用来解析这样的文件, 它的功能是可以根据你的Locale来进行解析配置文件, 如果一个产品需要进行多语言支持, 比如在不同语种的系统上, 会显示根据它的语言显示相应的界面语言, 就可以定义多份的properties文件, 每个文件的key是一样的, 只是value不一样, 然后在application起动的时候, 可以判别本机的Locale来解析相应的properties文件。 Properties文件里面的数据得要是Unicode jdk下面可以用native2ascii这个命令进行转换。 例: native2ascii Message.txt Message.properties 会生成一个Unicode的文件。

 

Properties: Properties这个类其实就是从Hashtable继承下来的, 也就是说它是一个散列表, 区别在于它的keyvalue都是String型的, 另外也加了几个常用的方法:

Ø  String getProperty(String key)  取得一个property

Ø  String getProperty(String key, String defaultValue)  property 如果不存在则返回defaultValue

Ø  void list(PrintStream out)  out输出所有的properties

Ø  void list(PrintWriter out)

Ø  Enumeration propertyNames()  将所有的property key名以Enumeration形式返回。

Ø  Object setProperty(String key, String value) 设置一个property

 

ResourceBundleProperties一般结合起来使用。 它们的用法很简单, ResourceBundle解析出来的keyvalue然后放至到一个静态的Properties成员变量里面去, 然后就可以通过访问Properties的方法进行读取Property 下面给个简单的例子:

 

public class PropertyManager implements Serializable {
	
	/** 定义一个静态的Properties变量 */
	private static Properties properties = new Properties();
	
	/**
	 * 通过一个类似于类名的参数进行Property文件的初期化
	 * 比如现在有一个文件叫Message.properties, 它存放在
	 * ejb/util下面并且, 这个目录在运行的classpath下面
	 * 则in就为ejb.util.Message
	 *
	 */
	public static void init(String in) throws MissingResourceException {
	    ResourceBundle bundle = ResourceBundle.getBundle(in);
	    Enumeration enum = bundle.getKeys();
	    Object key = null;
	    Object value = null;
	    while (enum.hasMoreElements()) {
	        key = enum.nextElement();
	        value = bundle.getString(key.toString());
	        properties.put(key, value);
	    }
	}
	
	/**
	 * 取得一个Property值
	 */
	public static String getProperty(String key) {
		return properties.get(key);
	}
	
	/**
	 * 设置一个Property值
	 */
	public static void setProperty(String key, String value) {
		properties.put(key, value);
	}
}

 

不过现在的Java产品中,越来越倾向于用XML替换Properties文件来进行配置。 XML配置具有层次结构清楚的优点。

 

分享到:
评论

相关推荐

    Java 常用API的运用,效率及技巧

    Java 常用API的运用,效率及技巧 Java面向对象基本概念 2. System 3. String, StringBuffer 4. 数值,字符,布尔对象与简单类型的操作 5. Class, ClassLoader 6. Java IO系统 7. Java集合类 8. ResourceBundle, ...

    java常用API文档合集

    内含java常用API文档合集一共10份,前端和java常用文档都有。

    Java学习常用API

    java比较常用的api,自己整合的,有些会有重复,请自行筛选

    高手总结java常用API.

    高手总结java常用API,学习之用,进行分享

    java常用API大全4

    CoreReferenceJS15.chm/CSSFilter2.0_DOC_...API.chm/Spring2.0_Reference_zh_CN.chm/Spring2.5_Reference_zh_CN.chm/StrutsTag.chm

    JAVA常用API文档 中文完整版.zip

    JAVA常用API文档 中文完整版.zip

    java 常用api大全

    java api 包括jdbc,j2me,commons组件 jxl等

    JAVA常用API思维导图

    JAVA常用API思维导图

    java常用API,CHM集合.part7.rar

    java常用API,CHM集合.part7.rar

    java常用API举例

    一个详细的java常用API举例。。有代码和说明。希望可以帮助到你。

    Java常用API

    java常用API 包括java ee、se、JDK,JQueryAPI、W3C离线版、ZTree控件API等

    java常用API.pdf

    java常用API.pdf

    java常用API总结

    Java 常用API的运用,效率及技巧 1. Java面向对象基本概念 2. System 3. String, StringBuffer 4. 数值,字符,布尔对象与简单类型的操作 5. Class, ClassLoader 6. Java IO系统 7. Java集合类 8. ResourceBundle, ...

    java api java api java api java api

    java apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava apijava api...

    java常用API使用方法(详细易懂)

    包含各种集合、工具类等用法解析,自我总结,内容详实,非常适合想对javaAPI有详细了解的人,适合刷算法题,还包含Lambda、函数式接口等内容

    java常用API

    此文档属于本人当初学习java基础的总结,里面是比较常用的API。大家下载下来可以当作java中API的“字典”,希望对大家有所帮助,如有错误的地方,欢迎指正,谢谢!

    多种java常用API

    本章讲解了JAVA中一些比较简单的类库:StringBuffer、包装类、Date、Calendar、Random、SimpleDateFormat、Runntime、Process 希望对大家有用。

    java API汇总大全

    java常用API, jdkAPI cssAPI jqueryAPI EasyUIAPI mysqlAPI oracleAPI solrAPI W3CschoolAPI AjaxAPI

    java开发常用API

    java开发中常用的API,挺有用的哦!还有java API 太大了,不好上传

    JAVA常用API合集(1)

    hibernate3 struts2 spring2的chm格式API文档,还有个2是J2EE5和struts1的有兴趣的话可以下来看下,希望对你有所帮助,还有什么需要可以给我说~

Global site tag (gtag.js) - Google Analytics