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