ResourceBundle读取properties配置文件2

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39729527/article/details/81513295

使用ResourceBundle类来读取配置文件:

1 properties配置文件(直接和Class文件相同的目录下)

#properties文件可以写汉字配置:
#Eclipse-->Window-Preferences-->General-->Content Types,右侧Text-->java Properites File 在Default encoding:输入UTF-8,点击Update。
NAME=陈三2
AGE=100
SISTER=tiger

2 java代码

      非web项目:这个data.properties必须放在src根目录下(要么全路径--包名),否则会报错Can't find bundle for base name xxx
       web项目:不写包路径可以,此时将资源文件放在WEB-INF\classes\目录下就可以。

package com.cww.properties;
import java.io.UnsupportedEncodingException;
import java.util.Enumeration;
import java.util.ResourceBundle;
public class PropertiesTest2 {
	public static void main(String[] args) throws UnsupportedEncodingException {
		/**
		 * 非web项目:这个data.properties必须放在src根目录下(要么全路径--包名),否则会报错Can't find bundle for base name xxx
		 * web项目:不写包路径可以,此时将资源文件放在WEB-INF\classes\目录下就可以。
		 */
		//String baseName = "data";
		//com.cww.properties是java的包名,从src的根路径开始
		String baseName = "com.cww.properties.data";
		ResourceBundle bundle = ResourceBundle.getBundle(baseName);
		Enumeration<String> keys = bundle.getKeys();
		Integer i=0;
		while (keys.hasMoreElements()) {
			String string = (String) keys.nextElement();
			//防止中文乱码(properties中怎么写中文--我之前的有)
		String string2 =
             new String( bundle.getString(string).getBytes("ISO-8859-1"), "UTF8");
			System.out.println("第"+(++i)+"个:"+string+"----"+string2);
		}
	}
}

3 运行结果:

第1个:SISTER----tiger
第2个:NAME----陈三2
第3个:AGE----100

over! 

猜你喜欢

转载自blog.csdn.net/qq_39729527/article/details/81513295