Java基础(五十)-常用类库

国际化程序

所谓的国家化程序指的是同一个程序代码可以根据不同的国家实现不同的语言描述,但是程序处理的核心业务是相同的。

1:国际化问题简介

在这里插入图片描述

在这里插入图片描述

2:Locale类

在这里插入图片描述

在这里插入图片描述

import java.util.Locale;

public class Test {
	public static void main(String[] args) throws Exception {
		Locale loc = new Locale("zh", "CN");	// 中文环境
		System.out.println(loc);
	}
}
//zh_CN

2:Locale类本身默认的方式进行实例化

在这里插入图片描述

import java.util.Locale;

public class JavaAPIDemo {
	public static void main(String[] args) throws Exception {
		Locale loc = Locale.getDefault() ;	// 获取默认环境
		System.out.println(loc); 
	}
}

3:简化开发

在这里插入图片描述

import java.util.Locale;

public class Test {
	public static void main(String[] args) throws Exception {
		Locale loc = Locale.CHINA ;
		System.out.println(loc); 
	}
}
//zh_CN

使用常量的优势在于可以避免一些区域编码信息的繁琐。

4:资源文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5:读取资源文件:ResourceBundle

在这里插入图片描述在这里插入图片描述

import java.util.ResourceBundle;

public class JavaAPIDemo {
	public static void main(String[] args) throws Exception {
		ResourceBundle resource = ResourceBundle.getBundle("cn.mldn.message.Messages") ;
		String val = resource.getString("info") ;
		System.out.println(val);
	}

}

在这里插入图片描述
在这里插入图片描述

6:实现国家化程序

实现国际化程序的实现前期准备已经全部完成了,也就是说依靠资源文件,Local,ResourceBundle类就可以实现国家化的处理操作。

7:通过程序进行指定区域的资源信息加载

在这里插入图片描述
在这里插入图片描述

import java.util.Locale;
import java.util.ResourceBundle;

public class JavaAPIDemo {
	public static void main(String[] args) throws Exception {
		Locale loc = new Locale("en", "US");
		ResourceBundle resource = ResourceBundle.getBundle("cn.mldn.message.Messages", loc);
		String val = resource.getString("info");
		System.out.println(val);
	}

}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

8:消息格式化

如果说现在某一位用户登录成功了,那么一般都会显示这样的信息“Xxx,欢迎您的光临!”,也就是说这个时候会显示用户名,那么此时如果这些内容保存在了资源文件里面,则需要通过占位符来进行描述,同时对于读取出来的数据也需要进行格式化的处理。

在这里插入图片描述

在这里插入图片描述

import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.ResourceBundle;

public class JavaAPIDemo {
	public static void main(String[] args) throws Exception {
		Locale loc = new Locale("en", "US");
		ResourceBundle resource = ResourceBundle.getBundle("cn.mldn.message.Messages", loc);
		String val = resource.getString("info");
		System.out.println(MessageFormat.format(val, "mldn", new SimpleDateFormat("yyyy-MM-dd").format(new Date())));
	}

}

在这里插入图片描述

在这里插入图片描述

总结:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值