【java】读取资源文件key->value,java.util.ResourceBundle
分类:
IT文章
•
2024-03-29 19:08:13
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 }
View Code
前提:需要在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 }
占位符的使用
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 }