Класс 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, должны быть представлены с помощью Unicode-экранов, как определено в разделе 3.3 спецификации языка Java™, а другой конструктор, принимающий 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

Методы, объявленные в классе java.lang.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 - входной поток, представляющий файл свойств для чтения.
Исключения:
IOException - если произошла ошибка ввода-вывода
NullPointerException - если stream равно null
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 - поток чтения, представляющий файл свойств для чтения.
Исключения:
IOException - если произошла ошибка ввода-вывода
NullPointerException - если reader равно null
IllegalArgumentException - если в reader встречается неверный Unicode-эскэйп-код.
С:
1.6

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

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()

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

Spec-Zone .ru
спецификации, руководства, описания, API