Класс Properties

Все реализованные интерфейсы:
Serializable, Cloneable, Map<Object,​Object>
Прямые известные подклассы:
Provider
public class Properties
extends Hashtable<Object,Object>

Класс Properties представляет собой постоянный набор свойств. Список свойств можно сохранить в поток или загрузить из потока. Каждый ключ и соответствующее ему значение в списке свойств — строка.

Список свойств может содержать другой список свойств в качестве «значений по умолчанию»; этот второй список свойств проверяется, если ключ свойства не найден в исходном списке свойств.

Поскольку Properties наследуется от Hashtable, методы put и putAll могут быть применены к объекту Properties. Их использование крайне не рекомендуется, так как они позволяют вызывающей стороне вставлять записи, ключи или значения которых не являются Strings. Вместо этого следует использовать метод setProperty. Если метод store или save вызывается на объекте Properties, содержащем ключ или значение, не являющийся String, вызов завершится с ошибкой. Аналогично, вызов метода propertyNames или list завершится с ошибкой, если он вызывается на объекте Properties, содержащем ключ, не являющийся String.

Итераторы, возвращаемые методом iterator для «коллекций представлений» этого класса (т. е., entrySet(), keySet(), и values()) могут не быть быстрыми при отказе (в отличие от реализации Hashtable). Эти итераторы гарантированно перебирают элементы, существовавшие при создании ровно один раз, и могут (но не гарантируют) отражать любые изменения после создания.

Методы load(Reader) / store(Writer, String) загружают и сохраняют свойства из потока символов и в поток символов в простом ориентированном на строки формате, описанном ниже. Методы load(InputStream) / store(OutputStream, String) работают аналогичным образом, за исключением того, что входной/выходной поток закодирован в кодировке символов ISO 8859-1. Символы, которые нельзя напрямую представить в этой кодировке, можно записать с помощью управляющих последовательностей 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​(int initialCapacity)

Создаёт пустой список свойств без значений по умолчанию, с начальным размером, достаточным для указанного количества элементов без необходимости динамического изменения размера.

Properties​(Properties defaults)

Создаёт пустой список свойств со значениями по умолчанию.

Методы

Модификатор и тип Метод Описание
String getProperty​(String key)

Ищет свойство с указанным ключом в этом списке свойств.

String getProperty​(String key, String defaultValue)

Ищет свойство с указанным ключом в этом списке свойств.

void list​(PrintStream out)

Выводит этот список свойств в указанный поток вывода.

void list​(PrintWriter out)

Выводит этот список свойств в указанный поток вывода.

void load​(InputStream inStream)

Считывает список свойств (пар ключ-значение) из входного байтового потока.

void load​(Reader reader)

Считывает список свойств (пар ключ-значение) из входного потока символов в простом ориентированном на строки формате.

void loadFromXML​(InputStream in)

Загружает все свойства, представленные в документе XML в указанном входном потоке, в эту таблицу свойств.

Enumeration<?> propertyNames()

Возвращает перечисление всех ключей в этом списке свойств, включая уникальные ключи в списке свойств по умолчанию, если ключ с тем же именем ещё не найден в основном списке свойств.

void save​(OutputStream out, String comments)

Устаревший.

Этот метод не вызывает исключение IOException, если при сохранении списка свойств происходит ошибка ввода-вывода.

Object setProperty​(String key, String value)

Вызывает метод Hashtable put.

void store​(OutputStream out, String comments)

Записывает этот список свойств (пар ключ-значение) в этом списке свойств в выходной поток в формате, подходящем для загрузки в таблицу свойств с помощью метода load(InputStream).

void store​(Writer writer, String comments)

Записывает этот список свойств (пар ключ-значение) в этом списке свойств в выходной поток символов в формате, подходящем для использования метода load(Reader).

void storeToXML​(OutputStream os, String comment)

Выводит XML-документ, представляющий все свойства, содержащиеся в этой таблице.

void storeToXML​(OutputStream os, String comment, String encoding)

Выводит XML-документ, представляющий все свойства, содержащиеся в этой таблице, используя указанную кодировку.

void storeToXML​(OutputStream os, String comment, Charset charset)

Выводит XML-документ, представляющий все свойства, содержащиеся в этой таблице, используя указанную кодировку.

Set<String> stringPropertyNames()

Возвращает неизменяемый набор ключей из этого списка свойств, где ключ и его соответствующее значение являются строками, включая уникальные ключи в списке свойств по умолчанию, если ключ с тем же именем ещё не найден в основном списке свойств.

Методы, объявленные в классе java.util.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

Методы, объявленные в классе java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе java.util.Map

forEach, getOrDefault, putIfAbsent, remove, replace, replace, replaceAll

Подробное описание полей

defaults

protected volatile Properties defaults

Список свойств, содержащий значения по умолчанию для ключей, отсутствующих в этом списке свойств.

Подробное описание конструкторов

Properties

public Properties()

Создаёт пустой список свойств без значений по умолчанию.

Примечание к реализации:
Начальный размер объекта Properties, созданного с этим конструктором, не определён.

Properties

public Properties(int initialCapacity)

Создаёт пустой список свойств без значений по умолчанию, с начальным размером, достаточным для указанного количества элементов без необходимости динамического изменения размера.

Параметры:
initialCapacity - размер, на который будет изменён размер Properties.
Исключения:
IllegalArgumentException - если начальный размер меньше нуля.

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
См. также:
getProperty(java.lang.String)

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)
Устаревшее.
Этот метод не выбрасывает IOException, если при сохранении списка свойств произошла ошибка ввода-вывода. Предпочтительный способ сохранения списка свойств — использование метода 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 и разделитель строк. Таким образом, comments может служить идентифицирующим комментарием. Любой из символов перевода строки ('\n'), возврата каретки ('\r') или возврата каретки, немедленно за которым следует перевод строки в комментариях, заменяется разделителем строк, генерируемым Writer, и если следующий символ в комментариях не символ # или !, то после этого разделителя строк записывается символ ASCII #.

Далее всегда записывается строка комментария, состоящая из символа ASCII #, текущей даты и времени (как если бы она была сгенерирована методом toString объекта Date для текущего времени) и разделителя строк, сгенерированного Writer.

Затем записывается каждая запись в этой таблице Properties, по одной записи на строку. Для каждой записи записывается строка ключа, затем символ ASCII =, а затем связанная строка элемента. Для ключа все пробельные символы записываются с предшествующим символом \. Для элемента ведущие пробельные символы, но не вложенные и не заключительные пробельные символы, записываются с предшествующим символом \. Символы ключа и элемента #, !, =, и : записываются с предшествующей обратной косой чертой, чтобы гарантировать их правильную загрузку.

После записи записей выходной поток сбрасывается. Выходной поток остаётся открытым после возврата из этого метода.

Параметры:
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 для их соответствующего шестнадцатеричного значения Unicode xxxx.
  • Символы меньше \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-документом в указанном потоке ввода, в эту таблицу свойств.

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(OutputStream, String, String), Кодировка символов в сущностях

storeToXML

public void storeToXML(OutputStream os,
                       String comment)
                throws IOException

Выводит XML-документ, представляющий все свойства, содержащиеся в этой таблице.

Вызов этого метода в формате props.storeToXML(os, comment) ведет себя точно так же, как вызов props.storeToXML(os, comment, "UTF-8");.

Параметры:
os - поток вывода, в который нужно вывести XML-документ.
comment - описание списка свойств, или null, если комментарий не нужен.
Исключения:
IOException - если запись в указанный поток вывода приводит к IOException.
NullPointerException - если os равно null.
ClassCastException - если этот объект Properties содержит какие-либо ключи или значения, которые не являются Strings.
С момента:
1.5
См. также:
loadFromXML(InputStream)

storeToXML

public void storeToXML(OutputStream os,
                       String comment,
                       String encoding)
                throws IOException

Выводит XML-документ, представляющий все свойства, содержащиеся в этой таблице, с указанной кодировкой.

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
См. также:
loadFromXML(InputStream), Кодировка символов в сущностях

storeToXML

public void storeToXML(OutputStream os,
                       String comment,
                       Charset charset)
                throws IOException

Выводит XML-документ, представляющий все свойства, содержащиеся в этой таблице, с указанной кодировкой.

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
См. также:
loadFromXML(InputStream), Кодировка символов в сущностях

getProperty

public String getProperty(String key)

Ищет свойство с заданным ключом в этом списке свойств. Если ключ не найден в этом списке свойств, в списке свойств по умолчанию и его значениях по умолчанию, рекурсивно, он затем проверяется. Метод возвращает null если свойство не найдено.

Параметры:
key - ключ свойства.
Возвращает:
значение в этом списке свойств с указанным значением ключа.
См. также:
setProperty(java.lang.String, java.lang.String), defaults

getProperty

public String getProperty(String key,
                          String defaultValue)

Ищет свойство с заданным ключом в этом списке свойств. Если ключ не найден в этом списке свойств, в списке свойств по умолчанию и его значениях по умолчанию, рекурсивно, он затем проверяется. Метод возвращает аргумент значения по умолчанию, если свойство не найдено.

Параметры:
key - ключ хэш-таблицы.
defaultValue - значение по умолчанию.
Возвращает:
значение в этом списке свойств с указанным значением ключа.
См. также:
setProperty(java.lang.String, java.lang.String), defaults

propertyNames

public Enumeration<?> propertyNames()

Возвращает перечисление всех ключей в этом списке свойств, включая различные ключи в списке свойств по умолчанию, если ключ с тем же именем ещё не найден из основного списка свойств.

Возвращает:
перечисление всех ключей в этом списке свойств, включая ключи в списке свойств по умолчанию.
Исключения:
ClassCastException - если какой-либо ключ в этом списке свойств не является строкой.
См. также:
Enumeration, defaults, stringPropertyNames()

stringPropertyNames

public Set<String> stringPropertyNames()

Возвращает неизменяемый набор ключей из этого списка свойств, где ключ и соответствующее ему значение являются строками, включая уникальные ключи в списке по умолчанию, если ключ с таким же именем еще не найден в основном списке свойств. Свойства, у которых ключ или значение не имеют тип String, пропускаются.

Возвращаемый набор не поддерживается этим Properties объектом. Изменения в этом Properties объекте не отражаются в возвращаемом наборе.

Возвращает:
неизменяемый набор ключей в этом списке свойств, где ключ и соответствующее ему значение являются строками, включая ключи из списка по умолчанию.
С момента:
1.6
См. также:
defaults

list

public void list(PrintStream out)

Выводит этот список свойств в указанный поток вывода. Этот метод полезен для отладки.

Параметры:
out - поток вывода.
Исключение:
ClassCastException - если какой-либо ключ в этом списке свойств не является строкой.

list

public void list(PrintWriter out)

Выводит этот список свойств в указанный поток вывода. Этот метод полезен для отладки.

Параметры:
out - поток вывода.
Исключение:
ClassCastException - если какой-либо ключ в этом списке свойств не является строкой.
С момента:
1.1

© 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/Properties.html

Spec-Zone .ru
спецификации, руководства, описания, API