鸿蒙OS开发文档 鸿蒙OS PropertyResourceBundle

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 2

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 创建一个属性资源包。

方法总结

修饰符和类型方法描述
EnumerationStringgetKeys()返回此 ResourceBundle 及其父捆绑包中包含的键的枚举。
ObjecthandleGetObject(String key)从此资源包中获取给定键的对象。
protected SetStringhandleKeySet()返回仅包含在此 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 编码。

参数:

参数名称参数描述
streamInputStream 表示要从中读取的属性文件。

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 中的一组键