Spec-Zone.ru › OpenJDK 27

Класс 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
Примечание к API:
PropertyResourceBundle можно создать из InputStream или Reader, представляющего файл свойств. Для создания экземпляра PropertyResourceBundle из InputStream необходимо, чтобы входной поток был закодирован в UTF-8. По умолчанию, если при чтении входного потока возникает MalformedInputException или UnmappableCharacterException, экземпляр PropertyResourceBundle возвращается в состояние, предшествовавшее исключению, входной поток повторно считывается в ISO-8859-1, после чего чтение продолжается. Если системное свойство java.util.PropertyResourceBundle.encoding задано значением "ISO-8859-1" или "UTF-8", входной поток считывается только в этой кодировке, а при обнаружении недопустимой последовательности возникает исключение. Если указано "ISO-8859-1", символы, которые нельзя представить в кодировке ISO-8859-1, должны быть представлены с помощью escape-последовательностей Unicode, определённых в разделе §3.3 Спецификации языка Java. Для другого конструктора, принимающего Reader, такого ограничения нет. Другие значения кодировки для этого системного свойства игнорируются. Системное свойство считывается и обрабатывается при инициализации этого класса. Изменение или удаление свойства после инициализации не оказывает никакого эффекта.
Требования к реализации:
Реализация подкласса PropertyResourceBundle должна быть потокобезопасной, если она одновременно используется несколькими потоками. Реализации неабстрактных методов этого класса по умолчанию являются потокобезопасными.
С момента:
1.1
См. также:
  • ResourceBundle
  • ListResourceBundle
  • Properties

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в классе ResourceBundle

ResourceBundle.Control
Модификатор и тип Класс Описание
static class  ResourceBundle.Control
ResourceBundle.Control определяет набор методов обратного вызова, которые вызываются фабричными методами ResourceBundle.getBundle в процессе загрузки пакета.

Краткое описание полей

Поля, объявленные в классе ResourceBundle

parent
Модификатор и тип Поле Описание
protected 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.

Методы, объявленные в классе ResourceBundle

clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, keySet, setParent
Модификатор и тип Метод Описание
static final void clearCache()
Удаляет из кэша все пакеты ресурсов, загруженные модулем вызывающего кода.
static final void clearCache(ClassLoader loader)
Удаляет из кэша все пакеты ресурсов, загруженные указанным загрузчиком классов.
boolean containsKey(String key)
Определяет, содержится ли указанный key в этом ResourceBundle или его родительских пакетах.
String getBaseBundleName()
Возвращает базовое имя этого пакета, если оно известно, или null, если оно неизвестно.
static final ResourceBundle getBundle(String baseName)
Получает пакет ресурсов, используя указанное базовое имя, локаль по умолчанию и модуль вызывающего кода.
static ResourceBundle getBundle(String baseName, Module module)
Получает пакет ресурсов, используя указанное базовое имя и локаль по умолчанию от имени указанного модуля.
static final ResourceBundle getBundle(String baseName, Locale locale)
Получает пакет ресурсов, используя указанное базовое имя и локаль, а также модуль вызывающего кода.
static ResourceBundle getBundle(String baseName, Locale locale, ClassLoader loader)
Получает пакет ресурсов, используя указанное базовое имя, локаль и загрузчик классов.
static ResourceBundle getBundle(String baseName, Locale targetLocale, ClassLoader loader, ResourceBundle.Control control)
Возвращает пакет ресурсов, используя указанное базовое имя, целевую локаль, загрузчик классов и объект control.
static ResourceBundle getBundle(String baseName, Locale targetLocale, Module module)
Получает пакет ресурсов, используя указанное базовое имя и локаль от имени указанного модуля.
static final ResourceBundle getBundle(String baseName, Locale targetLocale, ResourceBundle.Control control)
Возвращает пакет ресурсов, используя указанное базовое имя, целевую локаль и объект control, а также загрузчик классов вызывающего кода.
static final ResourceBundle getBundle(String baseName, ResourceBundle.Control control)
Возвращает пакет ресурсов, используя указанное базовое имя, локаль по умолчанию и указанный объект control.
Locale getLocale()
Возвращает локаль этого пакета ресурсов.
final Object getObject(String key)
Получает объект для указанного ключа из этого пакета ресурсов или одного из его родительских пакетов.
final String getString(String key)
Получает строку для указанного ключа из этого пакета ресурсов или одного из его родительских пакетов.
final String[] getStringArray(String key)
Получает массив строк для указанного ключа из этого пакета ресурсов или одного из его родительских пакетов.
Set<String> keySet()
Возвращает Set всех ключей, содержащихся в этом ResourceBundle и его родительских пакетах.
protected void setParent(ResourceBundle parent)
Задаёт родительский пакет для этого пакета.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

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 — если произошла ошибка ввода-вывода
NullPointerException — если stream равно null
IllegalArgumentException — если stream содержит некорректную escape-последовательность 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 — если произошла ошибка ввода-вывода
NullPointerException — если reader равно null
IllegalArgumentException — если при чтении reader встречается некорректная escape-последовательность Unicode.
С момента:
1.6

Подробное описание методов

handleGetObject

public Object handleGetObject(String key)
Описание скопировано из класса: ResourceBundle
Получает объект для указанного ключа из этого пакета ресурсов. Возвращает null, если этот пакет ресурсов не содержит объекта для указанного ключа.
Определён в:
handleGetObject в классе ResourceBundle
Параметры:
key — ключ нужного объекта
Возвращает:
объект для указанного ключа или null

getKeys

public Enumeration<String> getKeys()
Возвращает Enumeration ключей, содержащихся в этом ResourceBundle и его родительских пакетах.
Определён в:
getKeys в классе ResourceBundle
Возвращает:
Enumeration ключей, содержащихся в этом ResourceBundle и его родительских пакетах.
См. также:
  • ResourceBundle.keySet()

handleKeySet

protected Set<String> handleKeySet()
Возвращает Set ключей, содержащихся только в этом ResourceBundle.
Переопределяет:
handleKeySet в классе ResourceBundle
Возвращает:
Set ключей, содержащихся только в этом ResourceBundle
С момента:
1.6
См. также:
  • ResourceBundle.keySet()

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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