本文主要是介绍11.3 国际化程序(血干JAVA系列),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
国际化程序
- 11.3.1国际化程序的实现思路
- 11.3.2 Locale 类
- 11.3.3 ResourceBundle 类
- 【例11.13】通过ResourceBundle类取得资源文件中的内容
- 11.3.4 Java国际化程序实现
- 【例11.14】完成国际化的操作
- 11.3.5处理动态文本
- 【例11.1】使用MessageFormat格式化动态文本
- 附加(可变参数传递中可以接收多个对象)
- 方法1
- 方法2
- 11.3.6使用类代替资源文件【略】
11.3.1国际化程序的实现思路
11.3.2 Locale 类
表11-3 Locale类的构造方法
11.3.3 ResourceBundle 类
如果要使用ResourceBundle
对象,则直接通过ResourceBundle
类中的静态方法getBundle()
取得。下面通过一个范例简单介绍ResourceBundle
类的使用。
【例11.13】通过ResourceBundle类取得资源文件中的内容
第一步:定义资源文件:Message.properties
第二步:
package jiaqi;import java.util.ResourceBundle;public class demo310_1
{public static void main(String[] args) {ResourceBundle rb = ResourceBundle.getBundle("Message");System.out.println(rb.getString("info")); }
}
第三步
11.3.4 Java国际化程序实现
【例11.14】完成国际化的操作
package jiaqi;import java.util.Locale;
import java.util.ResourceBundle;public class demo310_1
{public static void main(String[] args) {//创建语言环境Locale zhloc = new Locale("zh","CN");Locale enloc = new Locale("en","US");Locale frloc = new Locale("fr","FR");//根据要求找资源文件ResourceBundle zh = ResourceBundle.getBundle("Message",zhloc);ResourceBundle en = ResourceBundle.getBundle("Message",enloc);ResourceBundle fr = ResourceBundle.getBundle("Message",frloc);System.out.println(zh.getString("info"));System.out.println(en.getString("info"));System.out.println(fr.getString("info"));}
}
从上面的程序中可以清楚地发现,根据Locale所指定的国家不同,读取的资源文件也不同,这样也就实现了国际化程序。
11.3.5处理动态文本
第一步
第二步
【例11.1】使用MessageFormat格式化动态文本
package jiaqi;import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;public class demo310_1
{public static void main(String[] args) {//创建语言环境Locale zhloc = new Locale("zh","CN");Locale enloc = new Locale("en","US");Locale frloc = new Locale("fr","FR");//根据要求找资源文件ResourceBundle zh = ResourceBundle.getBundle("Message",zhloc);ResourceBundle en = ResourceBundle.getBundle("Message",enloc);ResourceBundle fr = ResourceBundle.getBundle("Message",frloc);//获取valueString str1 = zh.getString("info");String str2 = en.getString("info");String str3 = fr.getString("info");System.out.println(MessageFormat.format(str1, "[杜艳贺1]"));System.out.println(MessageFormat.format(str2, "[duyanhe2]"));System.out.println(MessageFormat.format(str3, "[duyanhe3]"));}
}
第三步
附加(可变参数传递中可以接收多个对象)
Java新特性---- 可变参数传递中可以接收多个对象。
Object…args接受多参数
方法1
例如:测试参数传递
package jiaqi;public class demo325_1 {public static void main(String[] args){// TODO 自动生成的方法存根System.out.println("第一次:");fun("Lisi");System.out.println("第二次:");fun("Lisi","Wnagwu","zhailui");}public static void fun(Object...args) {for(int i=0;i<args.length;i++){System.out.println(args[i]);}}
}
方法2
实例:使用数组传递参数
package jiaqi;public class demo325_1 {public static void main(String[] args) {// TODO 自动生成的方法存根System.out.println("第一次:");Object args1[] = {"Lisi"};fun(args1);System.out.println("第二次:");Object args2[] = {"Lisi","wangeu"};fun(args2);}public static void fun(Object...args) {for(int i=0;i<args.length;i++){System.out.println(args[i]);}}
}
11.3.6使用类代替资源文件【略】
这篇关于11.3 国际化程序(血干JAVA系列)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!