鸿蒙OS PropertyResourceBundle
PropertyResourceBundle
java.lang.Object
|---java.util.ResourceBundle
|---|---java.util.PropertyResourceBundle
public class PropertyResourceBundle
extends ResourceBundle
PropertyResourceBundle 是 ResourceBundle 的一个具体子类,它使用属性文件中的一组静态字符串来管理区域设置的资源。
与其他类型的资源包不同,您不继承 PropertyResourceBundle。 相反,您提供包含资源数据的属性文件。 ResourceBundle.getBundle 将自动查找适当的属性文件并创建一个引用它的 PropertyResourceBundle。
以下示例显示了具有基本名称“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
如果 PropertyResourceBundle 子类同时被多个线程使用,则它的实现必须是线程安全的。 此类中非抽象方法的默认实现是线程安全的。
注意:PropertyResourceBundle 可以从 InputStream 或 Reader 构造,它表示一个属性文件。 从 InputStream 构造 PropertyResourceBundle 实例要求输入流以 ISO-8859-1 编码。 在这种情况下,无法以 ISO-8859-1 编码表示的字符必须由《Java™ 语言规范》第 3.3 节中定义的 Unicode Escapes 表示,而采用 Reader 的其他构造函数则没有该限制。
嵌套类摘要
从类 java.util.ResourceBundle 继承的嵌套类/接口 |
---|
ResourceBundle.Control |
字段摘要
从类 java.util.ResourceBundle 继承的字段 |
---|
parent |
构造函数摘要
构造函数 | 描述 |
---|---|
PropertyResourceBundle(InputStream stream) | 从 InputStream 创建一个属性资源包。 |
PropertyResourceBundle(Reader reader) | 从 Reader 创建一个属性资源包。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
EnumerationString | getKeys() | 返回此 ResourceBundle 及其父捆绑包中包含的键的枚举。 |
Object | handleGetObject(String key) | 从此资源包中获取给定键的对象。 |
protected SetString | handleKeySet() | 返回仅包含在此 ResourceBundle 中的一组键。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从类 java.util.ResourceBundle 继承的方法 |
---|
clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, keySet, setParent |
构造函数详细信息
PropertyResourceBundle
public PropertyResourceBundle(InputStream stream) throws IOException
从 InputStream 创建一个属性资源包。 使用此构造函数读取的属性文件必须以 ISO-8859-1 编码。
参数:
参数名称 | 参数描述 |
---|---|
stream | InputStream 表示要从中读取的属性文件。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
NullPointerException | 如果 stream 为空 |
IllegalArgumentException | 如果流包含格式错误的 Unicode 转义序列 |
PropertyResourceBundle
public PropertyResourceBundle(Reader reader) throws IOException
从 Reader 创建一个属性资源包。 与构造函数 PropertyResourceBundle(InputStream) 不同,输入属性文件的编码没有限制。
参数:
参数名称 | 参数描述 |
---|---|
reader | 表示要从中读取的属性文件的 Reader。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
NullPointerException | 如果 reader 为空 |
IllegalArgumentException | 如果 reader 出现格式错误的 Unicode 转义序列。 |
方法详情
handleGetObject
public Object handleGetObject(String key)
从类复制的描述:ResourceBundle
从此资源包中获取给定键的对象。 如果此资源包不包含给定键的对象,则返回 null。
指定者:
类 ResourceBundle 中的 handleGetObject
参数:
参数名称 | 参数描述 |
---|---|
key | 所需对象的键 |
返回:
给定键的对象,或 null
getKeys
public EnumerationString getKeys()
返回此 ResourceBundle 及其父捆绑包中包含的键的枚举。
指定者:
类 ResourceBundle 中的 getKeys
返回:
此 ResourceBundle 及其父捆绑包中包含的键的枚举。
handleKeySet
protected SetString handleKeySet()
返回仅包含在此 ResourceBundle 中的一组键。
覆盖:
类 ResourceBundle 中的 handleKeySet
返回:
仅包含在此 ResourceBundle 中的一组键