阅读(1918) (0)

鸿蒙OS PropertyResourceBundle

2022-06-16 16:27:42 更新

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