java.lang.Object
java.util.ResourceBundle
java.util.PropertyResourceBundle
PropertyResourceBundle 是 ResourceBundle 的具体子类,它使用属性文件中的一组静态字符串管理locale的资源。有关资源包的更多信息,请参阅 ResourceBundle 。
与其他类型的资源包不同,您不继承 PropertyResourceBundle 。相反,您提供包含资源数据的属性文件。 ResourceBundle.getBundle 将自动寻找合适的属性文件并创建一个引用它的 PropertyResourceBundle。有关搜索和实例化策略的完整描述,请参阅 ResourceBundle.getBundle 。
以下 例子 显示了具有基本名称“MyResources”的资源包系列的成员。文本定义了包“MyResources_de”,包家族的德国成员。该成员基于 PropertyResourceBundle ,因此文本是文件“MyResources_de.properties”的内容(相关的 例子 显示了如何将捆绑包添加到该系列,这些捆绑包作为 ListResourceBundle 的子类实现)。此示例中的键采用“s1”等形式。实际键完全取决于您的选择,只要它们与您在程序中用于从包中检索对象的键相同即可。键区分大小写。
# MessageFormat pattern
s1=Die Platte \"{1}\" enthält {0}.
# location of {0} in pattern
s2=1
# sample disk name
s3=Meine Platte
# first ChoiceFormat choice
s4=keine Dateien
# second ChoiceFormat choice
s5=eine Datei
# third ChoiceFormat choice
s6={0,number} Dateien
# sample date
s7=3. März 1996
- API 注意:
PropertyResourceBundle可以从InputStream或Reader构造,它们表示属性文件。从InputStream构建PropertyResourceBundle实例要求输入流在UTF-8中编码。默认情况下,如果在读取输入流时发生MalformedInputException或UnmappableCharacterException,则PropertyResourceBundle实例重置为异常前的状态,重新读取ISO-8859-1中的输入流,并继续读取。如果系统属性java.util.PropertyResourceBundle.encoding设置为“ISO-8859-1”或“UTF-8”,则输入流仅以该编码读取,并在遇到无效序列时抛出异常。如果指定了“ISO-8859-1”,则不能用 ISO-8859-1 编码表示的字符必须用 Unicode Escapes 表示,如第 3.3 节中所定义Java 语言规范而另一个采用Reader的构造函数则没有该限制。此系统属性将忽略其他编码值。系统属性在初始化此类时被读取和评估。更改或删除属性在初始化后无效。- 实现要求:
-
如果
PropertyResourceBundle子类的实现被多个线程同时使用,则它必须是线程安全的。此类中非抽象方法的默认实现是线程安全的。 - 自从:
- 1.1
- 参见:
-
内部类总结
在类 java.util.ResourceBundle 中声明的嵌套类/接口
ResourceBundle.Control -
字段摘要
在类 java.util.ResourceBundle 中声明的字段
parent -
构造方法总结
构造方法构造方法描述PropertyResourceBundle(InputStream stream) 从InputStream创建属性资源包。PropertyResourceBundle(Reader reader) 从Reader创建属性资源包。 -
方法总结
修饰符和类型方法描述getKeys()返回此ResourceBundle及其父包中包含的键的Enumeration。handleGetObject(String key) 从此资源包中获取给定键的对象。返回此ResourceBundle中包含的 only 键的Set。在类 java.util.ResourceBundle 中声明的方法
clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, keySet, setParent
-
构造方法详细信息
-
PropertyResourceBundle
从InputStream创建属性资源包。此构造函数默认读取 UTF-8 格式的属性文件。如果在读取输入流时出现MalformedInputException或UnmappableCharacterException,则PropertyResourceBundle实例重置为异常前的状态,重新读取ISO-8859-1中的输入流并继续读取。如果系统属性java.util.PropertyResourceBundle.encoding设置为“ISO-8859-1”或“UTF-8”,则输入流仅以该编码读取,并在遇到无效序列时抛出异常。此系统属性将忽略其他编码值。系统属性在初始化此类时被读取和评估。更改或删除属性在初始化后无效。- 参数:
stream- 表示要读取的属性文件的 InputStream。- 抛出:
IOException- 如果发生 I/O 错误NullPointerException- 如果stream为空IllegalArgumentException- 如果stream包含格式错误的 Unicode 转义序列。MalformedInputException- 如果系统属性java.util.PropertyResourceBundle.encoding设置为“UTF-8”并且stream包含无效的 UTF-8 字节序列。UnmappableCharacterException- 如果系统属性java.util.PropertyResourceBundle.encoding设置为“UTF-8”并且stream包含不可映射的 UTF-8 字节序列。
-
PropertyResourceBundle
从Reader创建属性资源包。与构造函数PropertyResourceBundle(InputStream)不同,输入属性文件的编码没有限制。- 参数:
reader- 代表要读取的属性文件的 Reader。- 抛出:
IOException- 如果发生 I/O 错误NullPointerException- 如果reader为空IllegalArgumentException- 如果reader出现格式错误的 Unicode 转义序列。- 自从:
- 1.6
-
-
方法详情
-
handleGetObject
从类复制的描述:ResourceBundle从此资源包中获取给定键的对象。如果此资源包不包含给定键的对象,则返回 null。- 指定者:
handleGetObject在类ResourceBundle中- 参数:
key- 所需对象的键- 返回:
- 给定键的对象,或 null
-
getKeys
返回此ResourceBundle及其父包中包含的键的Enumeration。- 指定者:
getKeys在类ResourceBundle中- 返回:
-
此
ResourceBundle及其父包中包含的密钥的Enumeration。 - 参见:
-
handleKeySet
返回此ResourceBundle中包含的 only 键的Set。- 重写:
handleKeySet在类ResourceBundle中- 返回:
-
一个
Set的键只包含在这个ResourceBundle - 自从:
- 1.6
- 参见:
-