1 package 国际化; 2 3 import java.util.ResourceBundle; 4 5 public class TestResource { 6 public static void main(String[] args) { 7 ResourceBundle rb=ResourceBundle.getBundle("TestResource"); 8 System.out.println(rb.getString("name")); 9 } 10 }
前提:需要在project的src目录下建立TestResource.properties文件,并输入内容key-value
1 package 国际化; 2 3 import java.text.MessageFormat; 4 import java.util.ResourceBundle; 5 6 public class TestResource { 7 public static void main(String[] args) { 8 ResourceBundle rb=ResourceBundle.getBundle("TestResource"); 9 String str=rb.getString("info");//含有占位符{0}、{1} 10 System.out.println(MessageFormat.format(str, "中国","北京")); 11 //运行结果:country:中国,城市:北京 12 } 13 }
System.out.println(Locale.getDefault());//zh_CN 取得当前语言环境
1 package 国际化; 2 3 import java.util.Locale; 4 import java.util.ResourceBundle; 5 6 public class TestResource { 7 public static void main(String[] args) { 8 Locale locale=new Locale("zh","CN"); 9 ResourceBundle rb=ResourceBundle.getBundle("TestResource", locale); 10 String str=rb.getString("info"); 11 System.out.println(str); 12 13 Locale locale2=new Locale("en","US"); 14 ResourceBundle rb2=ResourceBundle.getBundle("TestResource", locale2); 15 String str2=rb2.getString("info"); 16 System.out.println(str2); 17 18 ResourceBundle rb3=ResourceBundle.getBundle("TestResource"); 19 //若未指定Locale则默认取当前语言的Locale,此处默认为zh_CN 20 //若无TestResource_zh_CN_properties文件,则取TestResource.properties 21 String str3=rb3.getString("info"); 22 System.out.println(str3); 23 } 24 }