Класс Properties
- Все реализуемые интерфейсы:
Serializable, Cloneable, Map<Object,Object>
- Прямые известные подклассы:
Provider
public class Properties extends Hashtable<Object,Object>
Properties представляет собой постоянный набор свойств. Properties можно сохранить в поток или загрузить из потока. Каждый ключ и соответствующее ему значение в списке свойств являются строками. Список свойств может содержать другой список свойств в качестве «значений по умолчанию»; поиск во втором списке свойств выполняется, если ключ свойства не найден в исходном списке свойств.
Поскольку Properties наследует Hashtable, к объекту Properties можно применять методы put и putAll. Настоятельно не рекомендуется использовать их, поскольку они позволяют вызывающему коду добавлять записи, ключи или значения которых не являются Strings. Вместо этого следует использовать метод setProperty. Если для объекта Properties, «содержащего некорректные данные» и имеющего ключ или значение, не являющиеся String, вызвать метод store, save или list, вызов завершится ошибкой. Аналогично, вызов метода propertyNames завершится ошибкой, если он будет вызван для объекта Properties, «содержащего некорректные данные» и имеющего ключ, не являющийся String.
Итераторы, возвращаемые методом iterator для «представлений коллекций» этого класса (то есть entrySet(), keySet() и values()), могут не завершаться сбоем при модификации коллекции (в отличие от реализации Hashtable). Эти итераторы гарантированно обходят элементы, существовавшие на момент создания, ровно один раз; при этом они могут (но не обязаны) отражать изменения, внесённые после создания.
Методы load(Reader) / store(Writer, String) загружают свойства из символьного потока и сохраняют их в символьном потоке в простом построчном формате, описанном ниже. Методы load(InputStream) / store(OutputStream, String) работают так же, как пара load(Reader)/store(Writer, String), за исключением того, что входной/выходной поток использует кодировку ISO 8859-1. Символы, которые нельзя напрямую представить в этой кодировке, можно записать с помощью escape-последовательностей Unicode, определённых в разделе §3.3 Спецификации языка Java; в escape-последовательности допускается только один символ 'u'.
Методы loadFromXML(InputStream) и storeToXML(OutputStream, String, String) загружают и сохраняют свойства в простом формате XML. По умолчанию используется кодировка UTF-8, однако при необходимости можно указать другую кодировку. Реализации должны поддерживать UTF-8 и UTF-16 и могут поддерживать другие кодировки. Документ свойств XML имеет следующее объявление DOCTYPE:
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">Обратите внимание, что системный URI (http://java.sun.com/dtd/properties.dtd) не используется при экспорте или импорте свойств; он служит лишь строкой для уникальной идентификации DTD, который имеет вид:
<?xml version="1.0" encoding="UTF-8"?> <!-- DTD for properties --> <!ELEMENT properties ( comment?, entry* ) > <!ATTLIST properties version CDATA #FIXED "1.0"> <!ELEMENT comment (#PCDATA) > <!ELEMENT entry (#PCDATA) > <!ATTLIST entry key CDATA #REQUIRED>
Этот класс является потокобезопасным: несколько потоков могут совместно использовать один объект Properties без внешней синхронизации.
- Примечание к API:
- Класс
Propertiesне наследует концепцию коэффициента загрузки от своего суперклассаHashtable. - С версии:
- 1.0
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Properties |
defaults |
Список свойств, содержащий значения по умолчанию для всех ключей, не найденных в этом списке свойств. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Properties() |
Создаёт пустой список свойств без значений по умолчанию. |
Properties |
Создаёт пустой список свойств без значений по умолчанию и с начальным размером, позволяющим вместить указанное количество элементов без необходимости динамического изменения размера. |
Properties |
Создаёт пустой список свойств с указанными значениями по умолчанию. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
getProperty |
Выполняет поиск свойства с указанным ключом в этом списке свойств. |
String |
getProperty |
Выполняет поиск свойства с указанным ключом в этом списке свойств. |
void |
list |
Выводит этот список свойств в указанный выходной поток. |
void |
list |
Выводит этот список свойств в указанный выходной поток. |
void |
load |
Читает список свойств (пары «ключ — элемент») из входного байтового потока. |
void |
load |
Читает список свойств (пары «ключ — элемент») из входного символьного потока в простом построчном формате. |
void |
loadFromXML |
Загружает в эту таблицу свойств все свойства, представленные XML-документом в указанном входном потоке. |
Enumeration |
propertyNames() |
Возвращает перечисление всех ключей этого списка свойств, включая уникальные ключи из списка свойств по умолчанию, если ключ с таким же именем ещё не был найден в основном списке свойств. |
void |
save |
Устарел. Этот метод не выбрасывает IOException, если при сохранении списка свойств возникает ошибка ввода-вывода. |
Object |
setProperty |
Вызывает метод Hashtable put. |
void |
store |
Записывает этот список свойств (пары «ключ — элемент») из таблицы Properties в выходной поток в формате, подходящем для загрузки в таблицу Properties с помощью метода load(InputStream). |
void |
store |
Записывает этот список свойств (пары «ключ — элемент») из таблицы Properties в выходной символьный поток в формате, подходящем для использования метода load(Reader). |
void |
storeToXML |
Создаёт XML-документ, представляющий все свойства, содержащиеся в этой таблице. |
void |
storeToXML |
Создаёт XML-документ, представляющий все свойства, содержащиеся в этой таблице, с использованием указанной кодировки. |
void |
storeToXML |
Создаёт XML-документ, представляющий все свойства, содержащиеся в этой таблице, с использованием указанной кодировки. |
Set |
stringPropertyNames() |
Возвращает неизменяемое множество ключей из этого списка свойств, в котором ключи и соответствующие им значения являются строками; оно также включает уникальные ключи из списка свойств по умолчанию, если ключ с таким же именем ещё не был найден в основном списке свойств. |
Методы, объявленные в классе Hashtable
clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, merge, put, putAll, rehash, remove, size, toString, values | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
clear() |
Очищает эту хеш-таблицу, удаляя все ключи. |
Object |
clone() |
Создаёт поверхностную копию этой хеш-таблицы. |
Object |
compute |
Пытается вычислить соответствие для указанного ключа и текущего сопоставленного ему значения или null, если соответствие отсутствует (необязательная операция). |
Object |
computeIfAbsent |
Если для указанного ключа ещё не задано значение (или ему сопоставлено null), пытается вычислить его с помощью заданной функции сопоставления и добавляет в эту карту, если результат не равен null (необязательная операция). |
Object |
computeIfPresent |
Если для указанного ключа существует ненулевое значение, пытается вычислить новое соответствие на основе ключа и текущего сопоставленного ему значения (необязательная операция). |
boolean |
contains |
Проверяет, сопоставлен ли какой-либо ключ в этой хеш-таблице указанному значению. |
boolean |
containsKey |
Проверяет, является ли указанный объект ключом в этой хеш-таблице. |
boolean |
containsValue |
Возвращает true, если эта хеш-таблица сопоставляет одно или несколько значений с этим ключом. |
Enumeration |
elements() |
Возвращает перечисление значений в этой хеш-таблице. |
Set |
entrySet() |
Возвращает представление Set соответствий, содержащихся в этой карте. |
boolean |
equals |
Сравнивает указанный объект с этой картой на равенство согласно определению интерфейса Map. |
Object |
get |
Возвращает значение, сопоставленное указанному ключу, или null, если эта карта не содержит соответствия для ключа. |
int |
hashCode() |
Возвращает хеш-код этой карты согласно определению интерфейса Map. |
boolean |
isEmpty() |
Проверяет, сопоставляет ли эта хеш-таблица какие-либо ключи со значениями. |
Enumeration |
keys() |
Возвращает перечисление ключей в этой хеш-таблице. |
Set |
keySet() |
Возвращает представление Set ключей, содержащихся в этой карте. |
Object |
merge |
Если указанный ключ ещё не связан со значением или связан со значением null, связывает его с заданным ненулевым значением (необязательная операция). |
Object |
put |
Сопоставляет указанный key с указанным value в этой хеш-таблице. |
void |
putAll |
Копирует все соответствия из указанной карты в эту хеш-таблицу. |
protected void |
rehash() |
Увеличивает ёмкость и реорганизует внутреннюю структуру этой хеш-таблицы, чтобы эффективнее размещать и обрабатывать её записи. |
Object |
remove |
Удаляет ключ (и соответствующее ему значение) из этой хеш-таблицы. |
int |
size() |
Возвращает количество ключей в этой хеш-таблице. |
String |
toString() |
Возвращает строковое представление объекта Hashtable в виде набора записей, заключённых в фигурные скобки и разделённых символами ASCII « , » (запятая и пробел). |
Collection |
values() |
Возвращает представление Collection значений, содержащихся в этой карте. |
Методы, объявленные в классе Object
finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
finalize() |
Устарел, планируется удаление: этот элемент API может быть удалён в будущей версии. Финализация признана устаревшей и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения объекта Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или прерывания потока. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или прерывания потока, либо до истечения указанного интервала реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или прерывания потока, либо до истечения указанного интервала реального времени. |
Методы, объявленные в интерфейсе Map
forEach, getOrDefault, putIfAbsent, remove, replace, replace, replaceAll | Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
forEach |
Выполняет заданное действие для каждой записи этой карты, пока не будут обработаны все записи или действие не выбросит исключение. |
default Object |
getOrDefault |
Возвращает значение, сопоставленное указанному ключу, или defaultValue, если эта карта не содержит соответствия для ключа. |
default Object |
putIfAbsent |
Если указанный ключ ещё не связан со значением (или ему сопоставлено null), связывает его с заданным значением и возвращает null; в противном случае возвращает текущее значение (необязательная операция). |
default boolean |
remove |
Удаляет запись для указанного ключа, только если в данный момент ему сопоставлено указанное значение (необязательная операция). |
default Object |
replace |
Заменяет запись для указанного ключа, только если в данный момент ему сопоставлено какое-либо значение (необязательная операция). |
default boolean |
replace |
Заменяет запись для указанного ключа, только если в данный момент ему сопоставлено указанное значение (необязательная операция). |
default void |
replaceAll |
Заменяет значение каждой записи результатом вызова заданной функции для этой записи, пока не будут обработаны все записи или функция не выбросит исключение (необязательная операция). |
Подробное описание полей
defaults
protected volatile Properties defaults
Подробное описание конструкторов
Properties
public Properties()
- Примечание по реализации:
- Начальная емкость объекта
Properties, созданного этим конструктором, не определена.
Properties
public Properties(int initialCapacity)
- Параметры:
-
initialCapacity— размерPropertiesбудет рассчитан так, чтобы вместить указанное количество элементов - Исключения:
-
IllegalArgumentException— если начальная емкость меньше нуля. - С версии:
- 10
Properties
public Properties(Properties defaults)
- Примечание по реализации:
- Начальная емкость объекта
Properties, созданного этим конструктором, не определена. - Параметры:
-
defaults— значения по умолчанию.
Подробное описание методов
setProperty
public Object setProperty(String key, String value)
Hashtable put. Предоставлен для параллелизма с методом getProperty. Обеспечивает использование строк в качестве ключей и значений свойств. Возвращаемое значение — результат вызова Hashtable метода put.- Параметры:
-
key— ключ, который нужно поместить в этот список свойств. -
value— значение, соответствующееkey. - Возвращает:
- предыдущее значение указанного ключа в этом списке свойств или
null, если такого значения не было. - С версии:
- 1.2
- См. также:
load
public void load(Reader reader) throws IOException
Свойства обрабатываются построчно. Существуют два типа строк: естественные строки и логические строки. Естественная строка определяется как строка символов, завершающаяся набором символов окончания строки (\n, \r или \r\n) либо концом потока. Естественная строка может быть пустой строкой, строкой-комментарием либо содержать всю пару ключ—элемент или ее часть. Логическая строка содержит все данные пары ключ—элемент; она может занимать несколько смежных естественных строк, если последовательность символов окончания строки экранирована символом обратной косой черты \. Обратите внимание, что строку-комментарий нельзя продолжить таким образом: каждая естественная строка-комментарий должна иметь собственный индикатор комментария, как описано ниже. Строки считываются из входных данных до достижения конца потока.
Естественная строка, содержащая только пробельные символы, считается пустой и игнорируется. Строка-комментарий начинается с ASCII-символа '#' или '!', который является ее первым непробельным символом; строки-комментарии также игнорируются и не содержат сведений о ключах и элементах. Помимо символов окончания строки, в этом формате пробельными считаются символы пробела (' ', '\u0020'), табуляции ('\t', '\u0009') и перевода страницы ('\f', '\u000C').
Если логическая строка занимает несколько естественных строк, экранирующая последовательность обратной косой черты перед символами окончания строки, сами символы окончания строки и любые пробельные символы в начале следующей строки не влияют на значения ключа или элемента. В дальнейшей части описания разбора ключей и элементов (при загрузке) предполагается, что все символы, составляющие ключ и элемент, находятся в одной естественной строке после удаления символов продолжения строки. Обратите внимание: недостаточно проверить только символ перед последовательностью окончания строки, чтобы определить, экранирована ли она; для экранирования необходимо нечетное количество смежных обратных косых черт. Поскольку входные данные обрабатываются слева направо, ненулевое четное число 2n смежных обратных косых черт перед символом окончания строки (или в другом месте) кодирует n обратных косых черт после обработки экранирования.
Ключ содержит все символы строки, начиная с первого непробельного символа и до первого неэкранированного символа '=', ':' или пробельного символа, не являющегося символом окончания строки, но не включая его. Все эти символы завершения ключа можно включить в ключ, экранировав их предшествующим символом обратной косой черты; например,
\:\=
будет двухсимвольным ключом ":=". Символы окончания строки можно включить с помощью управляющих последовательностей \r и \n. Все пробельные символы после ключа пропускаются; если первый непробельный символ после ключа — '=' или ':', он игнорируется, а все пробельные символы после него также пропускаются. Все оставшиеся символы строки становятся частью соответствующей строки элемента; если символов не осталось, элементом является пустая строка "". После определения исходных последовательностей символов, составляющих ключ и элемент, выполняется обработка экранирования, описанная выше.
Например, каждая из следующих трех строк задает ключ "Truth" и соответствующее значение элемента "Beauty":
Truth = Beauty Truth:Beauty Truth :BeautyДругой пример: следующие три строки задают одно свойство:
fruits apple, banana, pear, \
cantaloupe, watermelon, \
kiwi, mango
Ключ — "fruits", а соответствующий элемент: "apple, banana, pear, cantaloupe, watermelon, kiwi, mango"Обратите внимание, что перед каждым
\ стоит пробел, поэтому в конечном результате после каждой запятой будет пробел; \, символ окончания строки и начальные пробельные символы строки-продолжения просто удаляются и не заменяются одним или несколькими другими символами. В качестве третьего примера строка:
cheesesзадает ключ
"cheeses" и пустую строку "" в качестве соответствующего элемента. Символы в ключах и элементах можно представить управляющими последовательностями, подобными используемым в символьных и строковых литералах (см. разделы §3.3 и §3.10.6 Спецификации языка Java). Отличия от управляющих последовательностей символов и Unicode-последовательностей, используемых для символов и строк, таковы:
- Восьмеричные управляющие последовательности не распознаются.
- Последовательность символов
\bне представляет символ возврата на одну позицию. - Метод не считает символ обратной косой черты
\перед недопустимым управляющим символом ошибкой; обратная косая черта просто отбрасывается. Например, в строке Java последовательность"\z"вызвала бы ошибку компиляции. В отличие от этого, данный метод просто отбрасывает обратную косую черту. Поэтому этот метод считает последовательность из двух символов"\b"эквивалентной одному символу'b'. - Для одинарных и двойных кавычек экранирование не требуется; однако, согласно приведенному выше правилу, символы одинарной и двойной кавычки, перед которыми стоит обратная косая черта, по-прежнему дают соответственно символы одинарной и двойной кавычки.
- В управляющей последовательности Unicode допускается только один символ «u».
Указанный поток остается открытым после возврата этого метода.
- Параметры:
-
reader— входной поток символов. - Исключения:
-
IOException— если при чтении из входного потока произошла ошибка. -
IllegalArgumentException— если во входных данных обнаружена некорректная управляющая последовательность Unicode. -
NullPointerException— еслиreaderравно null. - С версии:
- 1.6
load
public void load(InputStream inStream) throws IOException
load(Reader); предполагается, что используется кодировка символов ISO 8859-1, то есть каждый байт соответствует одному символу Latin1. Символы, отсутствующие в Latin1, а также некоторые специальные символы представляются в ключах и элементах с помощью Unicode-последовательностей, определенных в разделе §3.3 Спецификации языка Java. Указанный поток остается открытым после возврата этого метода.
- Параметры:
-
inStream— входной поток. - Исключения:
-
IOException— если при чтении из входного потока произошла ошибка. -
IllegalArgumentException— если входной поток содержит некорректную управляющую последовательность Unicode. -
NullPointerException— еслиinStreamравно null. - С версии:
- 1.2
save
@Deprecated public void save(OutputStream out, String comments)
store(OutputStream out,
String comments) или метод storeToXML(OutputStream os, String comment).store(OutputStream out, String comments) и подавляет выброшенные исключения IOException.- Параметры:
-
out— выходной поток. -
comments— описание списка свойств. - Исключения:
-
ClassCastException— если этот объектPropertiesсодержит ключи или значения, не являющиесяStrings.
store
public void store(Writer writer, String comments) throws IOException
Properties в выходной поток символов в формате, пригодном для использования метода load(Reader). Свойства из таблицы значений по умолчанию этой таблицы Properties (если она есть) этим методом не записываются.
Если аргумент comments не равен null, в выходной поток сначала записываются символ ASCII #, строка комментария и разделитель строк. Таким образом, comments может служить идентифицирующим комментарием. Любой символ перевода строки (\n), возврата каретки (\r) или возврата каретки, за которым сразу следует перевод строки (\r\n), в комментарии заменяется на line separator; если следующий символ в комментарии не является символом # или символом !, после этого разделителя строк записывается символ ASCII #.
Если свойство java.properties.date задано в командной строке и не является пустым (согласно методу String.isEmpty), строка комментария записывается следующим образом. Сначала записывается символ #, затем содержимое свойства, а после него — разделитель строк. Символы окончания строки в значении системного свойства обрабатываются так же, как указано выше для аргумента comments. Если системное свойство не задано или является пустым, строка комментария записывается следующим образом. Сначала записывается символ #, затем текущие дата и время в формате, используемом методом Date.toString, а после них — разделитель строк.
Затем каждая запись этой таблицы Properties записывается в отдельной строке. Для каждой записи сначала записывается строка ключа, затем символ ASCII = и строка соответствующего элемента. В ключе перед каждым символом пробела записывается \. В элементе с предшествующим \ записываются начальные пробелы, но не пробелы внутри строки или в ее конце. Перед символами ключа и элемента #, !, = и : записывается обратная косая черта, чтобы обеспечить их корректную загрузку.
После записи всех элементов выходной поток сбрасывается. Выходной поток остается открытым после возврата этого метода.
- Требования к реализации:
- Ключи и элементы записываются в естественном порядке сортировки ключей в
entrySet(), если только подкласс не переопределилentrySet(), чтобы возвращать значение, отличное отsuper.entrySet(). - Параметры:
-
writer— средство записи в выходной поток символов. -
comments— описание списка свойств. - Исключения:
-
IOException— если при записи этого списка свойств в указанный выходной поток возникаетIOException. -
ClassCastException— если этот объектPropertiesсодержит ключи или значения, не являющиесяStrings. -
NullPointerException— еслиwriterравно null. - С версии:
- 1.6
store
public void store(OutputStream out, String comments) throws IOException
Properties в выходной поток в формате, подходящем для загрузки в таблицу Properties с помощью метода load(InputStream). Свойства из таблицы значений по умолчанию этой таблицы Properties (если она есть) этим методом не записываются.
Этот метод выводит комментарии, ключи и значения свойств в том же формате, который описан в store(Writer), со следующими отличиями:
- Поток записывается с использованием кодировки символов ISO 8859-1.
- Символы комментариев, отсутствующие в Latin-1, записываются как
\uxxxx, где xxxx — соответствующее шестнадцатеричное значение Unicode. - Символы в ключах или значениях свойств, числовые значения которых меньше
\u0020или больше\u007E, записываются как\uxxxx, где xxxx — соответствующее шестнадцатеричное значение.
После записи всех элементов выходной поток сбрасывается. Выходной поток остается открытым после возврата этого метода.
- Параметры:
-
out— выходной поток. -
comments— описание списка свойств. - Исключения:
-
IOException— если при записи этого списка свойств в указанный выходной поток возникаетIOException. -
ClassCastException— если этот объектPropertiesсодержит ключи или значения, не являющиесяStrings. -
NullPointerException— еслиoutравно null. - С версии:
- 1.2
loadFromXML
public void loadFromXML(InputStream in) throws IOException, InvalidPropertiesFormatException
XML-документ должен содержать следующее объявление DOCTYPE:
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">Кроме того, документ должен соответствовать описанному выше DTD свойств.
Реализация должна считывать XML-документы, использующие кодировку «UTF-8» или «UTF-16». Реализация может поддерживать и другие кодировки.
Указанный поток закрывается после возврата этого метода.
- Параметры:
-
in— входной поток, из которого считывается XML-документ. - Исключения:
-
IOException— если при чтении из указанного входного потока возникаетIOException. -
UnsupportedEncodingException— если объявление кодировки документа удалось прочитать и в нем указана неподдерживаемая кодировка. -
InvalidPropertiesFormatException— данные входного потока не образуют допустимый XML-документ с обязательным типом документа. -
NullPointerException— еслиinравно null. - С версии:
- 1.5
- Внешние спецификации
- См. также:
storeToXML
public void storeToXML(OutputStream os, String comment) throws IOException
Вызов этого метода в форме props.storeToXML(os,
comment) ведет себя точно так же, как вызов props.storeToXML(os, comment, "UTF-8");.
- Параметры:
-
os— выходной поток, в который выводится XML-документ. -
comment— описание списка свойств илиnull, если комментарий не нужен. - Исключения:
-
IOException— если при записи в указанный выходной поток возникаетIOException. -
NullPointerException— еслиosравно null. -
ClassCastException— если этот объектPropertiesсодержит ключи или значения, не являющиесяStrings. - С версии:
- 1.5
- См. также:
storeToXML
public void storeToXML(OutputStream os, String comment, String encoding) throws IOException
XML-документ будет содержать следующее объявление DOCTYPE:
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
Если указанный комментарий равен null, комментарий в документе сохраняться не будет.
Реализация должна поддерживать запись XML-документов с кодировкой «UTF-8» или «UTF-16». Реализация может поддерживать и другие кодировки.
Символы, которые невозможно отобразить в указанной кодировке, будут закодированы в виде числовых символьных ссылок.
Указанный поток остается открытым после возврата этого метода.
Этот метод работает так же, как storeToXML(OutputStream os, String comment, Charset charset), за исключением того, что он выполняет поиск кодировки по указанному имени кодировки.
- Параметры:
-
os— выходной поток, в который выводится XML-документ. -
comment— описание списка свойств илиnull, если комментарий не нужен. -
encoding— имя поддерживаемой кодировки символов - Исключения:
-
IOException— если при записи в указанный выходной поток возникаетIOException. -
UnsupportedEncodingException— если реализация не поддерживает эту кодировку. -
NullPointerException— еслиosравноnullили еслиencodingравноnull. -
ClassCastException— если этот объектPropertiesсодержит ключи или значения, не являющиесяStrings. - С версии:
- 1.5
- Внешние спецификации
- См. также:
storeToXML
public void storeToXML(OutputStream os, String comment, Charset charset) throws IOException
XML-документ будет содержать следующее объявление DOCTYPE:
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
Если указанный комментарий равен null, комментарий в документе сохраняться не будет.
Реализация должна поддерживать запись XML-документов с кодировкой «UTF-8» или «UTF-16». Реализация может поддерживать и другие кодировки.
Символы, которые невозможно отобразить в указанной кодировке, будут закодированы в виде числовых символьных ссылок.
Указанный поток остается открытым после возврата этого метода.
- Параметры:
-
os— выходной поток, в который выводится XML-документ. -
comment— описание списка свойств илиnull, если комментарий не нужен. -
charset— кодировка - Исключения:
-
IOException— если при записи в указанный выходной поток возникаетIOException. -
NullPointerException— еслиosилиcharsetравноnull. -
ClassCastException— если этот объектPropertiesсодержит ключи или значения, не являющиесяStrings. - С версии:
- 10
- Внешние спецификации
- См. также:
getProperty
public String getProperty(String key)
null.- Параметры:
-
key— ключ свойства. - Возвращает:
- значение в этом списке свойств, соответствующее указанному ключу.
- См. также:
getProperty
public String getProperty(String key, String defaultValue)
- Параметры:
-
key— ключ хеш-таблицы. -
defaultValue— значение по умолчанию. - Возвращает:
- значение в этом списке свойств, соответствующее указанному ключу.
- См. также:
propertyNames
public Enumeration<?> propertyNames()
- Возвращает:
- перечисление всех ключей в этом списке свойств, включая ключи из списка свойств по умолчанию.
- Исключения:
-
ClassCastException— если какой-либо ключ в этом списке свойств не является строкой. - См. также:
stringPropertyNames
public Set<String> stringPropertyNames()
String, исключаются. Возвращаемый набор не связан с этим объектом Properties. Изменения этого объекта Properties не отражаются в возвращаемом наборе.
- Возвращает:
- неизменяемый набор ключей в этом списке свойств, в котором ключи и соответствующие им значения являются строками, включая ключи из списка свойств по умолчанию.
- С версии:
- 1.6
- См. также:
list
public void list(PrintStream out)
- Параметры:
-
out— выходной поток. - Исключения:
-
ClassCastException— если ключ или значение в этом списке свойств не является строкой.
list
public void list(PrintWriter out)
- Параметры:
-
out— выходной поток. - Исключения:
-
ClassCastException— если ключ или значение в этом списке свойств не является строкой. - С версии:
- 1.1
© 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.