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