Spec-Zone.ru › OpenJDK 21

Класс 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 Note:
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, не имеет такого ограничения. Другие значения кодирования игнорируются для этой системной переменной. Системная переменная считывается и оценивается при инициализации этого класса. Изменение или удаление переменной не оказывает никакого влияния после инициализации.
Implementation Requirements:
Реализация подкласса PropertyResourceBundle должна быть потокобезопасной, если она одновременно используется несколькими потоками. Реализации по умолчанию для неабстрактных методов в этом классе потокобезопасны.
Since:
1.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, 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. По умолчанию этот конструктор считывает файл свойств в кодировке 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

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

handleGetObject

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

getKeys

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

handleKeySet

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

© 1993, 2023, 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/21/docs/api/java.base/java/util/PropertyResourceBundle.html

Spec-Zone.ru

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