Spec-Zone.ru › OpenJDK 25

Класс 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

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

Поля, объявленные в классе 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

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

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

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/PropertyResourceBundle.html

Spec-Zone.ru

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