Класс 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
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.util.ResourceBundle
ResourceBundle.Control
Краткое описание полей
Поля, объявленные в классе java.util.ResourceBundle
parent
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PropertyResourceBundle |
Создаёт пакет ресурсов свойств из InputStream. |
PropertyResourceBundle |
Создаёт пакет ресурсов свойств из Reader. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Enumeration |
getKeys() |
Возвращает Enumeration ключей, содержащихся в этом ResourceBundle и его родительских пакетах. |
Object |
handleGetObject |
Получает объект для заданного ключа из этого ресурсного пакета. |
protected Set |
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- InputStream, представляющий файл свойств для чтения. - Исключения:
-
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- Reader, представляющий файл свойств для чтения. - Исключения:
-
IOException- если произошла ошибка ввода-вывода -
NullPointerException- еслиreaderравно null -
IllegalArgumentException- если изreaderполучена некорректная последовательность 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/PropertyResourceBundle.html