Класс 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:
-
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
- См. также:
-
ResourceBundle,ListResourceBundle,Properties
Вложенные классы
Вложенные классы/интерфейсы, объявленные в классе java.util.ResourceBundle
ResourceBundle.Control Поля
Поля, объявленные в классе java.util.ResourceBundle
parent Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PropertyResourceBundle(InputStream stream) | Создает ресурсный пакет свойств из |
PropertyResourceBundle(Reader reader) | Создает ресурсный пакет свойств из |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Enumeration<String> | getKeys() | Возвращает |
protected Set<String> | handleKeySet() | Возвращает |
Методы, объявленные в классе java.util.ResourceBundle
clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, handleGetObject, 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
Подробное описание методов
getKeys
public Enumeration<String> getKeys()
Возвращает Enumeration ключей, содержащихся в этом ResourceBundle и его родительских пакетах.
- Унаследованно от:
-
getKeysв классеResourceBundle - Возвращает:
Enumerationключей, содержащихся в этомResourceBundleи его родительских пакетах.- См. также:
ResourceBundle.keySet()
handleKeySet
protected Set<String> handleKeySet()
Возвращает Set ключей, содержащихся только в этом ResourceBundle.
- Переопределяет:
-
handleKeySetв классеResourceBundle - Возвращает:
Setключей, содержащихся только в этомResourceBundle- С:
- 1.6
- См. также:
ResourceBundle.keySet()
© 1993, 2020, 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/11/docs/api/java.base/java/util/PropertyResourceBundle.html