- java.lang.Object
-
- java.util.ResourceBundle
-
- java.util.PropertyResourceBundle
-
public class PropertyResourceBundle extends ResourceBundle
PropertyResourceBundle
是的具体子类ResourceBundle
管理资源使用一组属性文件中的静态字符串的语言环境。 有关资源包的更多信息,请参见ResourceBundle
。与其他类型的资源包不同,您不是子类
PropertyResourceBundle
。 而是提供包含资源数据的属性文件。ResourceBundle.getBundle
将自动查找相应的属性文件并创建引用它的PropertyResourceBundle
。 有关搜索和实例化策略的完整说明,请参见ResourceBundle.getBundle
。以下example显示了资源包系列的成员,其基本名称为“MyResources”。 该文本定义了捆绑“MyResources_de”,捆绑族的德国成员。 该成员基于
PropertyResourceBundle
,因此文本是文件“MyResources_de.properties”的内容(相关的example显示了如何将捆绑包添加到此系列,实现为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 Note:
-
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转义如在The Java™ Language Specification 3.3节中定义,而其他的构造,这需要表示Reader
没有该限制。 此系统属性将忽略其他编码值。 初始化此类时,将读取并评估系统属性。 初始化后,更改或删除属性无效。 - 实现要求:
-
如果
PropertyResourceBundle
子类同时由多个线程使用,则它的实现必须是线程安全的。 此类中非抽象方法的默认实现是线程安全的。 - 从以下版本开始:
- 1.1
- 另请参见:
-
ResourceBundle
,ListResourceBundle
,Properties
-
-
嵌套类汇总
-
嵌套类/接口声明在类 java.util.ResourceBundle
ResourceBundle.Control
-
-
字段汇总
-
声明的属性在类 java.util.ResourceBundle
parent
-
-
构造方法摘要
构造方法 构造器 描述 PropertyResourceBundle(InputStream stream)
从InputStream
创建属性资源包。PropertyResourceBundle(Reader reader)
从Reader
创建属性资源包。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 Enumeration<String>
getKeys()
返回一个Enumeration
包含在此按键ResourceBundle
及其父包。protected Set<String>
handleKeySet()
返回Set
只有在这个包含的键ResourceBundle
。-
声明方法的类 java.util.ResourceBundle
clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, handleGetObject, keySet, setParent
-
-
-
-
构造方法详细信息
-
PropertyResourceBundle
public PropertyResourceBundle(InputStream stream) throws IOException
从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
public PropertyResourceBundle(Reader reader) throws IOException
从Reader
创建属性资源包。 与构造函数PropertyResourceBundle(InputStream)
不同,对输入属性文件的编码没有限制。- 参数
-
reader
- 表示要读取的属性文件的Reader。 - 异常
-
IOException
- 如果发生I / O错误 -
NullPointerException
- 如果reader
为空 -
IllegalArgumentException
- 如果reader
出现格式错误的Unicode转义序列。 - 从以下版本开始:
- 1.6
-
-
方法详细信息
-
getKeys
public Enumeration<String> getKeys()
返回一个Enumeration
包含在此按键ResourceBundle
及其父包。- Specified by:
-
getKeys
类ResourceBundle
- 结果
-
一个
Enumeration
包含在该键的ResourceBundle
及其父包。 - 另请参见:
-
ResourceBundle.keySet()
-
handleKeySet
protected Set<String> handleKeySet()
返回Set
只有在这个包含的键ResourceBundle
。- 重写:
-
handleKeySet
在类ResourceBundle
- 结果
-
Set
仅包含在此ResourceBundle
中的密钥 - 从以下版本开始:
- 1.6
- 另请参见:
-
ResourceBundle.keySet()
-
-