ResourceBundle and MessageFormat Demo

本文展示了一个Java程序如何使用ResourceBundle加载不同语言环境的资源文件,并通过MessageFormat进行消息格式化。示例中包含了英文和中文两种语言环境的配置与输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 public static void main(String[] args) {
  Locale locale = new Locale("en","GB");
  ResourceBundle bundle = ResourceBundle.getBundle("ApplicationResource",locale);
  String requiredFieldMessage = bundle.getString("message");
  System.out.println(requiredFieldMessage);
  
  Object[] variables = new Object[] { new Integer(4), new Date(),
    new Double(0.21) };
  String output = MessageFormat.format(requiredFieldMessage, variables);
  System.out.println(output);
  
  ResourceBundle bundle1 = ResourceBundle.getBundle("ApplicationResource",locale);
  String language = bundle1.getString("language");
  System.out.println(language);
  
  Locale locale1 = new Locale("zh","CN");
  ResourceBundle bundle2 = bundle.getBundle("ApplicationResource",locale1);
  language = bundle2.getString("language");
  System.out.println(language);
  

  String user[] = new String[2];
  ResourceBundle bundle3 = bundle.getBundle("Login",locale);
  user[0] = bundle3.getString("UserName");
  user[1] = bundle3.getString("Password");
  System.out.println(user[0] + " " + user[1]);
  
  ResourceBundle bundle4 = bundle.getBundle("Login",locale1);
  user[0] = bundle4.getString("UserName");
  user[1] = bundle4.getString("Password");
  System.out.println(user[0] + " " + user[1]);
 }

 

 

ApplicationResource_zh_CN.properties

language=/u4e2d/u6587

 

ApplicationResource_en_GB.properties

message = "Once upon a time ({1,date}, around about {1,time,short}), there "
    + "was a humble developer named Geppetto who slaved for "
    + "{0,number,integer} days with {2,number,percent} complete user "
    + "requirements. ";
language=English;

 

Login_en_GB.java
import java.util.ListResourceBundle;

public class Login_en_GB extends ListResourceBundle {
 public Login_en_GB() {
 }

 static final java.lang.Object[][] contents = { { "UserName", "UserName" },
   { "Password", "UserName" } };

 public java.lang.Object[][] getContents() {
  return contents;
 }

}

 

Login_zh_CN.java

import java.util.ListResourceBundle;

public class Login_zh_CN extends ListResourceBundle {
 public Login_zh_CN() {
 }

 static final java.lang.Object[][] contents = { { "UserName", "帐号" },
   { "Password", "密码" }};

 public java.lang.Object[][] getContents() {
  return contents;
 }
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值