Класс 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:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.util.ResourceBundle
ResourceBundle.Control
Краткое описание полей
Поля, объявленные в классе java.util.ResourceBundle
parent
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PropertyResourceBundle |
Создаёт набор ресурсов свойств из InputStream. |
PropertyResourceBundle |
Создаёт набор ресурсов свойств из Reader. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Enumeration<String> |
getKeys() |
Возвращает Enumeration ключей, содержащихся в этом ResourceBundle и его родительских наборах. |
Object |
handleGetObject |
Получает объект для заданного ключа из этого набора ресурсов. |
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
Подробное описание конструкторов
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- если появляется некорректная последовательность Unicode-эскейпа изreader. - С:
- 1.6
Подробное описание методов
handleGetObject
public Object handleGetObject(String key)
ResourceBundle- Указано в:
-
handleGetObjectв классеResourceBundle - Параметры:
-
key- ключ для нужного объекта - Возвращает:
- объект для данного ключа или null
getKeys
public Enumeration<String> getKeys()
- Указано в:
-
getKeysв классеResourceBundle - Возвращает:
- коллекцию ключей, содержащихся в этом пакете ресурсов и его родительских пакетах.
- См. также:
handleKeySet
protected Set<String> handleKeySet()
- Переопределяет:
-
handleKeySetв классеResourceBundle - Возвращает:
- коллекцию ключей, содержащихся только в этом пакете ресурсов
- С:
- 1.6
- См. также:
© 1993, 2021, 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/17/docs/api/java.base/java/util/PropertyResourceBundle.html