Locale和Properties(50分)

  • 主题发起人 主题发起人 yat
  • 开始时间 开始时间
Y

yat

Unregistered / Unconfirmed
GUEST, unregistred user!
这两种类型究竟是作什么的,Locale看来好象和语言有点关系,设置什么国家之类的东西.
Properties类型怎么看着象数组(不是说ResourceBundle对应的那个properties文件).
唉,直接看源程序好痛苦.
 
在 Java 平台中,locale 仅仅是语言和地区的某种组合的标识符。
它不是与 locale 有关的属性的集合。每个对 locale 敏感的类都保存它自己的与
locale 有关的信息。这样,用户和系统对象对自己的与 locale 有关的资源进行保
存的方式是没有差别的。它们都使用标准本地化机制。
Java 程序不指定某一全球化 locale。所有对 locale 敏感的操作都可以明确指定
locale 作为其参数。这大大简化了多语言程序。虽然不强制指定全球化 locale,
但那些不希望明确管理 locale 的程序仍可使用缺省 locale。缺省 locale
也可以用一次选择去影响全部表示。
Java locale 充当来自另一对象的对某种行为的请求。例如,
传入 Calendar 对象的法语区加拿大 locale 要求 Calendar
正确操作以符合魁北克的习惯。对象应该接受 locale 的要求并作出正确反应。
如果对象尚未对某一 locale 进行本地化,它将试图找到一个与之“最接近”
匹配的已本地化的 locale。因此,如果 Calendar 对象尚未针对法语区加拿大进行本地化,但通常已有法语的本地化版本,则它将使用法语本地化。
local对象表示某一特定的地理、政治或文化区域。需要 locale 执行其任务的操作称为对
locale 敏感的操作,该操作使用 Locale 对象为用户提供适当信息。
例如,显示数字是一种对 locale 敏感的操作 - 数字应根据用户的国家、
地区或文化的习惯和风俗进行格式化。
具体教程见http://java.sun.com/docs/books/tutorial/i18n/index.html
 
yat:请继续或结束问题。
local的解释见上一贴子。下面谈谈Properties类型
Java 无法从本地机上读取环境变量,因为并不是所有的平台都支持环境变量。
所以java指定的另一种指定环境变量的方法,就是属性(Properties类型)。
比如说,可以从系统中得到系统中所有定义的环境变量:
 Properties properties=System.getProperties();
System.out.println("The system property table is:");
properties.list(System.out);
也可以得到单独的一个环境变量:
System.out.println("/nIndividral properties can be obtained"+
"/nThe value of os.name is "+System.getProperty("os.name"));
此外,还可外部文件得到所定义的环境变量:
in=new FileInputStream("yourfile");
properties.load(in);
这样,你就可以灵活配置你的程序。
 
接受答案了.
 
后退
顶部