Spec-Zone.ru › OpenJDK 8

Класс PropertyResourceBundle

  • java.lang.Object
    • java.util.ResourceBundle
      • java.util.PropertyResourceBundle

public class PropertyResourceBundle
extends ResourceBundle

PropertyResourceBundle — это конкретный подкласс ResourceBundle, который управляет ресурсами для определённого языка с помощью набора статических строк из файла свойств. См. 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

Реализация подкласса PropertyResourceBundle должна быть потокобезопасной, если она одновременно используется несколькими потоками. По умолчанию реализации неабстрактных методов в этом классе являются потокобезопасными.

Примечание: PropertyResourceBundle можно создать либо из потока ввода-вывода (InputStream), либо из объекта чтения (Reader), которые представляют собой файл свойств. Создание экземпляра PropertyResourceBundle из потока ввода-вывода требует, чтобы поток ввода был закодирован в ISO-8859-1. В этом случае символы, которые не могут быть представлены в кодировке ISO-8859-1, должны быть представлены с помощью Unicode-экранов, как определено в разделе 3.3 спецификации языка Java™, в то время как другой конструктор, который принимает Reader, не имеет этого ограничения.

Since:
JDK1.1
See Also:
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 и его родительских пакетах.

Object handleGetObject(String key)

Получает объект для заданного ключа из этого ресурсного пакета.

protected Set<String> handleKeySet()

Возвращает Set ключей, содержащихся только в этом ResourceBundle.

Методы, унаследованные от класса java.util.ResourceBundle

clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, keySet, setParent

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

PropertyResourceBundle

public PropertyResourceBundle(InputStream stream)
                       throws IOException

Создаёт ресурсный пакет свойств из InputStream. Файл свойств, считанный с помощью этого конструктора, должен быть закодирован в ISO-8859-1.

Parameters:
stream - поток ввода-вывода, представляющий файл свойств для чтения.
Throws:
IOException - если произошла ошибка ввода-вывода
NullPointerException - если stream равно null
IllegalArgumentException - если stream содержит неверный Unicode-эскэйп.

PropertyResourceBundle

public PropertyResourceBundle(Reader reader)
                       throws IOException

Создаёт ресурсный пакет свойств из Reader. В отличие от конструктора PropertyResourceBundle(InputStream), нет ограничений на кодировку входного файла свойств.

Parameters:
reader - объект чтения, представляющий файл свойств для чтения.
Throws:
IOException - если произошла ошибка ввода-вывода
NullPointerException - если reader равно null
IllegalArgumentException - если в reader содержится неверный Unicode-эскэйп.
Since:
1.6

Методы

handleGetObject

public Object handleGetObject(String key)

Описание скопировано из класса: ResourceBundle

Получает объект для заданного ключа из этого ресурсного пакета. Возвращает null, если в этом ресурсном пакете нет объекта для заданного ключа.

Specified by:
handleGetObject в классе ResourceBundle
Parameters:
key - ключ для нужного объекта
Returns:
объект для заданного ключа или null

getKeys

public Enumeration<String> getKeys()

Возвращает Enumeration ключей, содержащихся в этом ResourceBundle и его родительских пакетах.

Specified by:
getKeys в классе ResourceBundle
Returns:
Enumeration ключей, содержащихся в этом ResourceBundle и его родительских пакетах.
See Also:
ResourceBundle.keySet()

handleKeySet

protected Set<String> handleKeySet()

Возвращает Set ключей, содержащихся только в этом ResourceBundle.

Overrides:
handleKeySet в классе ResourceBundle
Returns:
Set ключей, содержащихся только в этом ResourceBundle
Since:
1.6
See Also:
ResourceBundle.keySet()

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API