java.util类 ResourceBundle.Controljava.lang.Object java.util.ResourceBundle.Control正在封闭类:ResourceBundle
public static class ResourceBundle.Control extends ObjectResourceBundle.Control 定义一个回调方法集,它在包加载进程中由 ResourceBundle.getBundle 工厂方法调用。 换句话说,ResourceBundle.Control 与工厂方法协作可用于加载资源包。回调方法的默认实现为工厂方法提供执行默认行为的必要信息。除了回调方法外,还定义了 toBundleName 和 toResourceName 方法,其主要目的是为实现回调方法提供方便。 但是,若要在本地化资源的组织和打包中提供不同的约定,也可以重写 toBundleName 方法。toResourceName 方法是 final 方法,以避免使用错误的资源和类名称分隔符。两个工厂方法 getControl(List) 和 getNoFallbackControl(List) 都提供 ResourceBundle.Control 实例,这些实例实现默认包加载进程的常见变量。 在相同基本包的所有 ResourceBundle.getBundle 调用中,getFormats 方法返回的格式和 getCandidateLocales 方法返回的候选语言环境必须一致。
否则,ResourceBundle.getBundle 方法返回意料之外的包。例如,如果 getFormats 方法在
第一次调用 ResourceBundle.getBundle 时只返回 "java.class",
第二次调用时只返回 "java.properties",
那么第二次调用返回的基于类的包将是在第一次调用过程中缓存的那个包。如果 ResourceBundle.Control 实例被多个线程同时使用,则它必须是线程安全的。ResourceBundle.getBundle 不会同时调用 ResourceBundle.Control 方法。方法的默认实现是线程安全的。应用程序可以指定 getControl 工厂方法返回的 ResourceBundle.Control 实例,也可以指定从 ResourceBundle.Control 子类创建的 ResourceBundle.Control 实例,以自定义包加载进程。下面是对默认包加载进程进行更改的示例。示例 1以下代码让 ResourceBundle.getBundle 只查找基于属性的资源。import java.util.*;import static java.util.ResourceBundle.Control.*;...ResourceBundle bundle =ResourceBundle.getBundle("MyResources", new Locale("fr", "CH"),ResourceBundle.Control.getControl(FORMAT_PROPERTIES));给定 ResourceBundle.getBundle 描述的示例中的资源包,此 ResourceBundle.getBundle 调用加载 MyResources_fr_CH.properties,
它的父属性是 MyResources_fr.properties,
而后者的父属性是 MyResources.properties。(没有隐藏 MyResources_fr_CH.properties,但隐藏了 MyResources_fr_CH.class。)示例 2 :
以下转帖:http://blog.csdn.net/shanliangliuxing/article/details/6827972
一、认识国际化资源文件
这个类提供软件国际化的捷径。通过此类,可以使您所编写的程序可以:
轻松地本地化或翻译成不同的语言
一次处理多个语言环境
以后可以轻松地进行修改,支持更多的语言环境
说的简单点,这个类的作用就是读取资源属性文件(properties),然后根据 .properties文件 的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序指定),然后获取相应的properties文件的内容。
使用这个类,要注意的一点是,这个properties文件的名字是有规范的:
一般的命名规范是: 自定义名_语言代码_国别代码.properties,
如果是默认的,直接写为:自定义名.properties
比如:
myres_en_US.properties
myres_zh_CN.properties
myres.properties
当在中文操作系统下,如果myres_zh_CN.properties、myres.properties两个文件都存在,则优先会使用myres_zh_CN.properties,
当myres_zh_CN.properties不存在时候,会使用默认的myres.properties。
没有提供语言和地区的资源文件是系统默认的资源文件。
资源文件都必须是ISO-8859-1编码,因此,对于所有非西方语系的处理,都必须先将之转换为Java Unicode Escape格式。转换方法是通过JDK自带的工具native2ascii.
二、实例
定义三个资源文件,放到src的根目录下面(必须这样,或者你放到自己配置的calsspath下面。
myres.properties
aaa=good
bbb=thanks
myres_en_US.properties
aaa=good
bbb=thanks
myres_zh_CN.properties
aaa=\u597d
bbb=\u591a\u8c22
打印:
好
好
good
分享到:
相关推荐
java.util.ResourceBundle使用详解
ResourceBundle:资源包,包括图片源代码
这里面有详细的处理maven项目中resources目录下的资源文件,方便快捷的得到或设置资源文件中的内容,本人亲测,里面还有示例
NULL 博文链接:https://singleant.iteye.com/blog/1485781
国际化插件-ResourceBundle Editor
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的...
ResourceBundle Editor (eclipse-rbe)是一个用于编辑本地化的属性文件(localized properties files)。它让你通一个屏幕就能够同时管理所有相关联属性文件中的key/value信息。它所具有的功能包括:自动为Keys分类,...
j18n替代了java.util.ResourceBundle以支持Unicode属性文件。 您可以将UTF8字符放入* .properties中,唯一的代码更改是将“ ResourceBundle.getBundle(..)”替换为“ J18n.getBundle(..)”。
资源包 ResourceBundle 是一个固执的 Symfony 包,用于帮助开发 REST API。 它为您做出一些架构决策,使您能够更多地关注应用程序的领域。 它使用尽可能少的魔法,使其更易于理解、调试和扩展。 ##Prerequisites ...
import java.util.ResourceBundle; import org.apache.commons.lang3.StringUtils; /** * 银联银行卡 卡bin * @author ljf */ public class UnionpayCardUtil { private static ResourceBundle bundle = ...
使用java.util.ResourceBundle类的getBundle()方法 示例: ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault()); 3。使用java.util.PropertyResourceBundle类的构造函数 示例: ...
private ResourceBundle resourceBundle; public CommonParam() { propertyFileName = "com/test/dao/SysConfig"; resourceBundle = ResourceBundle.getBundle(propertyFileName); } public String ...
main方法、==与equals的区别、main方法的static修饰符、finalize方法、Java API、ResourceBundle、SimpleTimeZone类、while循环和do循环有什么不同、面向对象编程、隐式的类型转化、封装,继承和多态是什么.......
Ø java.util.ResourceBundle:用于加载一个国家、语言资源包。 Ø java.util.Locale:用于封装一个特定的国家/区域、语言环境。 Ø java.text.MessageFormat:用于格式化带占位符的字符串。 为了实现程序的国际...
开发它是为了简化创建 ResourceBundle 源的过程,而不必每次使用 genrb 重新编译源文件。 这个项目既不是真正的一部分,也不是。 用法 : 测试文件 <?php use Adoy \ ICU \ ResourceBundle \ ResourceBundle ;...
2. System 3. String, StringBuffer 4. 数值,字符,布尔对象与简单类型的操作 5. Class, ClassLoader 6. Java IO系统 7. Java集合类 8. ResourceBundle, Properties 9. Exceptions 10. JDBC类库 11. 常用设计模式
resourcebundleeditor在eclipse里面的设置和使用
java常用类库 主要方法分析 pdf 文件 实例讲解 StringBuffer类 Runtime类 Locable类 ResourceBundle类 System类 Date类 Calendar类 DateFormat类 Math类