ResourceBundle类加载配置文件使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39531549/article/details/82729368
 * 加载资源文件应用:
 * 
 * 我们现在写两个配置文件。一个存放中文信息,另一个存放英文信息
 * 		使用类,来通过语言环境,最终识别加载哪一个文件的信息:ResourceBundle
 * 		
 * 		什么是语言环境:Locale
 * 			>zh_CN
 * 			>en_US
 * 		new  Locale("zh","CN");
 * 		Locale.getDefault();
 * 		LOcale.US
 * 
 * 资源文件命名的格式:基本名称+Locale部分+.properties
 * 		例如: res_ch_CN.properties 其中基本名称为res 而ch_CN是部分
 * 			必须所有的资源文件基本名称要相同,不同之处就是 Locale部分

一、通过配置文件实现中英文

public class Demo {
	
	public static void main(String[] args) {
		
			//创建现场
			Locale locale = Locale.CHINA;//Locale.US
			
			//得到ResourceBundle
			//第一个参数:基本名称
			//第二个参数:Locale
			ResourceBundle rb = ResourceBundle.getBundle("res", locale);
			
			//使用ResourceBundle获取资源信息
			System.out.println(rb.getString("username"));
			System.out.println(rb.getString("password"));
			System.out.println(rb.getString("login"));		
	}
}	

 二、配置文件  1 - res_en_US.properties   2 - res_zh_CN.properties

文件一、
username=username
password=password
login=login

文件二、
username=\u7528\u6237\u540D
password=\u5BC6\u7801
login=\u767B\u5F55

 三、不同访问出现中英文JSP登录页面

  <body>
    	<%
    			/* 把与语言相关的所有的字符串都变成变量 */
    			Locale locale = request.getLocale();//获取浏览器提交的语言环境
    			ResourceBundle rb = ResourceBundle.getBundle("res",locale);
    	 %>
    	 
    	 <%= rb.getString("username") %>
    	 <%= rb.getString("password") %>
    	 <%= rb.getString("login") %>
  </body>

四、使用类加载器加载配置文件

/*第一种方式读取配置文件*/
try {
// 读取配置文件
Properties pro = new Properties();
// 类加载器
InputStream in = JDBCUtils.class.getClassLoader().getResourceAsStream("dp.properties");
// 加载文件 pro.load(in);
drivername = pro.getProperty("driverName"); 
url = pro.getProperty("url"); 
username = pro.getProperty("username");
password = pro.getProperty("password");
} 
catch (IOException e) 
{ e.printStackTrace(); }

/* 第二种方式读取配置文件 */
drivername = ResourceBundle.getBundle("db").getString("driverName");
url = ResourceBundle.getBundle("db").getString("url");
username = ResourceBundle.getBundle("db").getString("username");
password = ResourceBundle.getBundle("db").getString("password");

猜你喜欢

转载自blog.csdn.net/weixin_39531549/article/details/82729368
今日推荐