1、Java支持国际化的主要特征:
Java字符使用16位统一码编码;Java提供一个地区类Locale,封装有关地区特征的信息;Java利用类ResourceBundle将地区特征的信息从程序中分离出来。
2、Locale类
Locale对象代表具有特定语言或习惯的地理、政治或文化区域。每个Swing用户界面类都具有locale属性,它是从类Component继承来的。
可以在Locale类中调用静态方法getAvailableLocales(),从而获得所有可用的地域。
3、显示日期和时间
①TimeZone类
表示时区的偏差,也能计算夏令时。
TimeZone.getTimeZone(id):得到指定时区id的TimeZone对象
setTimeZone("CST"):设置时区为CST
静态方法getAvailableIDs():查看所有有效时区
静态方法getDefault():获取主机上的默认时区
②DateFormal类
③SimpleDateFormat类
允许选择任何一种用户自定义的日期和时间格式化模式。
创建SimpleDateFormat对象,参数pattern字符串由含有特殊意义的字母组成,yMdGhmsz。
④DateFormatSymbols类
封装依地区不同而变化的日期-时间格式数据。
4、数字格式化
使用java.text.NumberFormat类可以格式化数字,该类是一个抽象基类。
数字格式化类DecimalFormat:
将各种方法获取的NumberFormat对象转换为java.text.DecimalFormat,它是NumberFormat的一个子类,然后利用DecimalFormat类中的applyPattern(String pattern)方法指定数字显示模式。显示模式可以指定小数点前数字位数的最小值,也可以指定小数点后数字位数的最大值,分别使用'0'和'#'表示需要的位和可选的位。
5、资源包(resource bundle)
所谓资源包,就是提供特定地区信息的一个Java类文件或一个文本文件。Java程序可以动态地访问这些信息。利用资源包可以将程序冲地区敏感的代码与地区不敏感的代码分离开来。
6、字符编码
通过Scanner/PrintWriter的构造方法为I/O文本指定编码方法:
如果统一码编码和ASCII编码不同,就以'?'写入文件。当把\u6B22写入一个ASCII文件时,?写入该文件。