Класс Preferences
- java.lang.Object
-
- java.util.prefs.Preferences
- Прямые известные подклассы:
AbstractPreferences
public abstract class Preferences extends Object
Узел в иерархической коллекции данных настроек. Этот класс позволяет приложениям хранить и извлекать данные настроек пользователя и системы. Эти данные постоянно хранятся в хранилище, зависящем от реализации. Типичные реализации включают плоские файлы, регистры, специфичные для ОС, серверы каталогов и базы данных SQL. Пользователю этого класса не нужно беспокоиться о подробностях хранилища.
Существуют два отдельных дерева узлов настроек: одно для пользовательских настроек и одно для системных настроек. Каждый пользователь имеет отдельное дерево пользовательских настроек, а все пользователи в данной системе используют одно и то же дерево системных настроек. Точное описание «пользователя» и «системы» будет различаться в зависимости от реализации. Типичная информация, хранимая в дереве пользовательских настроек, может включать выбор шрифта, выбор цвета или предпочтительное расположение и размер окна для конкретного приложения. Типичная информация, хранимая в дереве системных настроек, может включать данные конфигурации установки для приложения.
Узлы в дереве настроек имеют имена, аналогичные именам каталогов в иерархической файловой системе. Каждый узел в дереве настроек имеет имя узла (которое необязательно уникально), уникальное абсолютное имя пути и имя пути, относительное к каждому предку, включая его самого.
Узловой узел имеет имя узла пустую строку (""). Каждый другой узел имеет произвольное имя узла, указанное при его создании. Единственные ограничения на это имя заключаются в том, что оно не может быть пустой строкой и не может содержать символ косой черты ('/').
Узловой узел имеет абсолютное имя пути "/". Потомки корневого узла имеют абсолютные имена путей "/" + <имя узла>. Все остальные узлы имеют абсолютные имена путей <абсолютное имя пути родительского узла> + "/" + <имя узла>. Обратите внимание, что все абсолютные имена путей начинаются с символа косой черты.
Имя пути узла n, относительное к его предку a, представляет собой просто строку, которую необходимо добавить к абсолютному имени пути a, чтобы сформировать абсолютное имя пути n, при этом начальный символ косой черты (если он есть) удаляется. Обратите внимание, что:
- Ни одно относительное имя пути не начинается с символа косой черты.
- Имя пути каждого узла, относительное к самому себе, — это пустая строка.
- Имя пути каждого узла, относительное к его родителю, — это его имя узла (за исключением корневого узла, у которого нет родителя).
- Имя пути каждого узла, относительное к корню, — это его абсолютное имя пути без начального символа косой черты.
И наконец, обратите внимание, что:
- Имя пути не содержит нескольких последовательных символов косой черты.
- Ни одно имя пути, за исключением абсолютного имени пути корневого узла, не заканчивается символом косой черты.
- Любая строка, соответствующая этим двум правилам, является допустимым именем пути.
Все методы, изменяющие данные настроек, разрешается использовать асинхронно; они могут возвращать значение немедленно, и изменения, в конечном итоге, будут распространяться на постоянное хранилище с задержкой, зависящей от реализации. Метод flush можно использовать для синхронной принудительной синхронизации обновлений в хранилище. Обычное завершение виртуальной машины Java не приведет к потере ожидающих обновлений — явное вызов flush не требуется при завершении для обеспечения сохранения ожидающих обновлений.
Все методы, считывающие настройки из объекта Preferences, требуют, чтобы вызывающий указал значение по умолчанию. Значение по умолчанию возвращается, если значение не было ранее установлено или если хранилище недоступно. Цель заключается в том, чтобы приложения могли работать, хотя и с несколько ухудшенными функциями, даже если хранилище станет недоступным. Несколько методов, таких как flush, имеют семантику, которая не позволяет им работать, если хранилище недоступно. Обычным приложениям не нужно вызывать ни один из этих методов, которые можно определить по тому, что они объявлены сбросом BackingStoreException.
Методы этого класса могут вызываться несколькими потоками в одной JVM без необходимости внешней синхронизации, и результаты будут эквивалентны некоторому последовательному выполнению. Если этот класс используется одновременно многими JVM, которые хранят свои данные настроек в одном и том же хранилище, данные хранилища не будут повреждены, но никакие другие гарантии не даются относительно согласованности данных настроек.
Этот класс содержит механизм экспорта/импорта, позволяющий «экспортировать» настройки в XML-документ и «импортировать» XML-документы, представляющие настройки, обратно в систему. Этот механизм можно использовать для резервного копирования всех или части дерева настроек и последующего восстановления из резервной копии.
XML-документ имеет следующее объявление DOCTYPE:
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">Обратите внимание, что к системе URI (http://java.sun.com/dtd/preferences.dtd) не обращаются при экспорте или импорте настроек; он служит только в качестве строки для уникальной идентификации DTD, который является:
<?xml version="1.0" encoding="UTF-8"?>
<!-- DTD for a Preferences tree. -->
<!-- The preferences element is at the root of an XML document
representing a Preferences tree. -->
<!ELEMENT preferences (root)>
<!-- The preferences element contains an optional version attribute,
which specifies version of DTD. -->
<!ATTLIST preferences EXTERNAL_XML_VERSION CDATA "0.0" >
<!-- The root element has a map representing the root's preferences
(if any), and one node for each child of the root (if any). -->
<!ELEMENT root (map, node*) >
<!-- Additionally, the root contains a type attribute, which
specifies whether it's the system or user root. -->
<!ATTLIST root
type (system|user) #REQUIRED >
<!-- Each node has a map representing its preferences (if any),
and one node for each child (if any). -->
<!ELEMENT node (map, node*) >
<!-- Additionally, each node has a name attribute -->
<!ATTLIST node
name CDATA #REQUIRED >
<!-- A map represents the preferences stored at a node (if any). -->
<!ELEMENT map (entry*) >
<!-- An entry represents a single preference, which is simply
a key-value pair. -->
<!ELEMENT entry EMPTY >
<!ATTLIST entry
key CDATA #REQUIRED
value CDATA #REQUIRED > Каждая Preferences реализация должна иметь связанную реализацию PreferencesFactory. Каждая реализация Java(TM) SE должна предоставлять способ указания реализации PreferencesFactory для генерации корневых узлов настроек. Это позволяет администратору заменить реализацию настроек по умолчанию альтернативной реализацией.- Примечание реализации:
- Реализация
PreferencesFactoryрасположена следующим образом:Если системная переменная
java.util.prefs.PreferencesFactoryопределена, то она рассматривается как полное имя класса, реализующего интерфейсPreferencesFactory. Класс загружается и инициализируется; если этот процесс завершается ошибкой, то генерируется неопределенная ошибка.Если файл класса реализации
PreferencesFactoryбыл установлен в файле jar, видимом дляsystem class loader, и этот файл jar содержит файл конфигурации поставщика под названиемjava.util.prefs.PreferencesFactoryв каталоге ресурсовMETA-INF/services, то первое имя класса, указанное в этом файле, используется. Если предоставляется более одного такого файла jar, будет использоваться первый найденный. Класс загружается и инициализируется; если этот процесс завершается ошибкой, то генерируется неопределенная ошибка.Наконец, если ни вышеупомянутая системная переменная, ни расширяемый файл jar не предоставлены, то загружается и инициализируется системная реализация
PreferencesFactoryдля базовой платформы.
- С:
- 1.4
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static int | MAX_KEY_LENGTH | Максимальная длина строки, разрешенной в качестве ключа (80 символов). |
static int | MAX_NAME_LENGTH | Максимальная длина имени узла (80 символов). |
static int | MAX_VALUE_LENGTH | Максимальная длина строки, разрешенной в качестве значения (8192 символов). |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | Preferences() | Единственный конструктор. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract String | absolutePath() | Возвращает абсолютный путь к этому узлу предпочтений. |
abstract void | addNodeChangeListener(NodeChangeListener ncl) | Регистрирует указанный слушатель для получения событий изменения узла для данного узла. |
abstract void | addPreferenceChangeListener(PreferenceChangeListener pcl) | Регистрирует указанный слушатель для получения событий изменения предпочтений для данного узла предпочтений. |
abstract String[] | childrenNames() | Возвращает имена потомков этого узла предпочтений, относительно данного узла. |
abstract void | clear() | Удаляет все предпочтения (ассоциации ключ-значение) в этом узле предпочтений. |
abstract void | exportNode(OutputStream os) | Выводит на указанный выходной поток XML-документ, представляющий все предпочтения, содержащиеся в данном узле (но не его потомки). |
abstract void | exportSubtree(OutputStream os) | Выводит XML-документ, представляющий все предпочтения, содержащиеся в данном узле и во всех его потомках. |
abstract void | flush() | Принудительно сохраняет все изменения в содержимом данного узла предпочтений и его потомков в постоянном хранилище. |
abstract String | get(String key,
String def) | Возвращает значение, связанное с указанным ключом в этом узле предпочтений. |
abstract boolean | getBoolean(String key,
boolean def) | Возвращает булево значение, представленное строкой, связанной с указанным ключом в этом узле предпочтений. |
abstract byte[] | getByteArray(String key,
byte[] def) | Возвращает значение массива байтов, представленное строкой, связанной с указанным ключом в этом узле предпочтений. |
abstract double | getDouble(String key,
double def) | Возвращает значение типа double, представленное строкой, связанной с указанным ключом в этом узле предпочтений. |
abstract float | getFloat(String key,
float def) | Возвращает значение типа float, представленное строкой, связанной с указанным ключом в этом узле предпочтений. |
abstract int | getInt(String key,
int def) | Возвращает значение типа int, представленное строкой, связанной с указанным ключом в этом узле предпочтений. |
abstract long | getLong(String key,
long def) | Возвращает значение типа long, представленное строкой, связанной с указанным ключом в этом узле предпочтений. |
static void | importPreferences(InputStream is) | Импортирует все предпочтения, представленные XML-документом в указанном потоке ввода. |
abstract boolean | isUserNode() | Возвращает |
abstract String[] | keys() | Возвращает все ключи, имеющие связанное значение в этом узле предпочтений. |
abstract String | name() | Возвращает имя этого узла предпочтений, относительно его родителя. |
abstract Preferences | node(String pathName) | Возвращает узел предпочтений с заданным именем в том же дереве, что и текущий узел, создавая его и всех его предков, если они еще не существуют. |
abstract boolean | nodeExists(String pathName) | Возвращает true, если узел предпочтений с заданным именем существует в том же дереве, что и текущий узел. |
abstract Preferences | parent() | Возвращает родителя этого узла предпочтений или |
abstract void | put(String key,
String value) | Связывает указанное значение с указанным ключом в этом узле предпочтений. |
abstract void | putBoolean(String key,
boolean value) | Связывает строку, представляющую указанное булево значение, с указанным ключом в этом узле предпочтений. |
abstract void | putByteArray(String key,
byte[] value) | Связывает строку, представляющую указанный массив байтов, с указанным ключом в этом узле предпочтений. |
abstract void | putDouble(String key,
double value) | Связывает строку, представляющую указанное значение типа double, с указанным ключом в этом узле предпочтений. |
abstract void | putFloat(String key,
float value) | Связывает строку, представляющую указанное значение типа float, с указанным ключом в этом узле предпочтений. |
abstract void | putInt(String key,
int value) | Связывает строку, представляющую указанное значение типа int, с указанным ключом в этом узле предпочтений. |
abstract void | putLong(String key,
long value) | Связывает строку, представляющую указанное значение типа long, с указанным ключом в этом узле предпочтений. |
abstract void | remove(String key) | Удаляет значение, связанное с указанным ключом в этом узле предпочтений, если оно существует. |
abstract void | removeNode() | Удаляет этот узел предпочтений и все его потомки, делая недействительными все предпочтения, содержащиеся в удалённых узлах. |
abstract void | removeNodeChangeListener(NodeChangeListener ncl) | Удаляет указанного |
abstract void | removePreferenceChangeListener(PreferenceChangeListener pcl) | Удаляет указанного слушателя событий изменения предпочтений, чтобы он больше не получал событий изменения предпочтений. |
abstract void | sync() | Обеспечивает, чтобы будущие чтения из этого узла предпочтений и его потомков отражали любые изменения, которые были внесены в постоянное хранилище (из любого виртуальной машины) до вызова |
static Preferences | systemNodeForPackage(Class<?> c) | Возвращает узел предпочтений из системного дерева предпочтений, связанный (по соглашению) с пакетом указанного класса. |
static Preferences | systemRoot() | Возвращает корневой узел предпочтений для системы. |
abstract String | toString() | Возвращает строковое представление этого узла предпочтений, как если бы он был вычислен по выражению: |
static Preferences | userNodeForPackage(Class<?> c) | Возвращает узел предпочтений из дерева предпочтений вызывающего пользователя, связанный (по соглашению) с пакетом указанного класса. |
static Preferences | userRoot() | Возвращает корневой узел предпочтений для вызывающего пользователя. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Поля
MAX_KEY_LENGTH
public static final int MAX_KEY_LENGTH
Максимальная длина строки, разрешенной в качестве ключа (80 символов).
- См. также:
- Постоянные значения поля
MAX_VALUE_LENGTH
public static final int MAX_VALUE_LENGTH
Максимальная длина строки, разрешенной в качестве значения (8192 символа).
- См. также:
- Постоянные значения поля
MAX_NAME_LENGTH
public static final int MAX_NAME_LENGTH
Максимальная длина имени узла (80 символов).
- См. также:
- Постоянные значения поля
Конструкторы
Preferences
protected Preferences()
Единственный конструктор. (Для вызова подклассами конструкторов, обычно неявный.)
Методы
userNodeForPackage
public static Preferences userNodeForPackage(Class<?> c)
Возвращает узел настроек вызывающего пользователя из дерева настроек пользователя, который связан (по соглашению) с пакетом указанного класса. Соглашение таково: абсолютный путь к узлу — это полное имя пакета, предваряемое слешем ('/'), а каждая точка ('.') заменяется слешем. Например, абсолютный путь к узлу, связанному с классом com.acme.widget.Foo — это /com/acme/widget.
Это соглашение не применяется к безымянному пакету, узел настроек которого — <unnamed>. Этот узел не предназначен для долгосрочного использования, но удобен на ранних этапах разработки программ, которые ещё не принадлежат к пакету, и для «одноразовых» программ. Не следует хранить ценные данные в этом узле, так как он используется всеми программами, которые его используют.
Класс Foo, желающий получить доступ к настройкам, относящимся к его пакету, может получить узел настроек следующим образом:
static Preferences prefs = Preferences.userNodeForPackage(Foo.class);Этот способ устраняет необходимость использования строки для описания узла настроек и уменьшает вероятность возникновения ошибки во время выполнения. (Если имя класса написано неправильно, обычно возникает ошибка компиляции.)
Вызов этого метода приведёт к созданию возвращаемого узла и его предков, если они ещё не существуют. Если возвращаемый узел не существовал до этого вызова, этот узел и все предки, созданные этим вызовом, не гарантированно станут постоянными до тех пор, пока не будет вызван метод flush на возвращаемом узле (или одном из его предков или потомков).
- Параметры:
-
c- класс, для пакета которого требуется узел настроек пользователя. - Возвращаемое значение:
- узел настроек пользователя, связанный с пакетом, членом которого является
c. - Исключения:
-
NullPointerException- еслиcравенnull. -
SecurityException- если менеджер безопасности присутствует и он отказываетсяRuntimePermission("preferences"). - См. также:
RuntimePermission
systemNodeForPackage
public static Preferences systemNodeForPackage(Class<?> c)
Возвращает узел настроек из системного дерева настроек, который связан (по соглашению) с пакетом указанного класса. Соглашение таково: абсолютный путь к узлу — это полное имя пакета, предваряемое слешем ('/'), а каждая точка ('.') заменяется слешем. Например, абсолютный путь к узлу, связанному с классом com.acme.widget.Foo — это /com/acme/widget.
Это соглашение не применяется к безымянному пакету, узел настроек которого — <unnamed>. Этот узел не предназначен для долгосрочного использования, но удобен на ранних этапах разработки программ, которые ещё не принадлежат к пакету, и для «одноразовых» программ. Не следует хранить ценные данные в этом узле, так как он используется всеми программами, которые его используют.
Класс Foo, желающий получить доступ к настройкам, относящимся к его пакету, может получить узел настроек следующим образом:
static Preferences prefs = Preferences.systemNodeForPackage(Foo.class);Этот способ устраняет необходимость использования строки для описания узла настроек и уменьшает вероятность возникновения ошибки во время выполнения. (Если имя класса написано неправильно, обычно возникает ошибка компиляции.)
Вызов этого метода приведёт к созданию возвращаемого узла и его предков, если они ещё не существуют. Если возвращаемый узел не существовал до этого вызова, этот узел и все предки, созданные этим вызовом, не гарантированно станут постоянными до тех пор, пока не будет вызван метод flush на возвращаемом узле (или одном из его предков или потомков).
- Параметры:
-
c- класс, для пакета которого требуется системный узел настроек. - Возвращаемое значение:
- системный узел настроек, связанный с пакетом, членом которого является
c. - Исключения:
-
NullPointerException- еслиcравенnull. -
SecurityException- если менеджер безопасности присутствует и он отказываетсяRuntimePermission("preferences"). - См. также:
RuntimePermission
userRoot
public static Preferences userRoot()
Возвращает корневой узел настроек для вызывающего пользователя.
- Возвращаемое значение:
- корневой узел настроек для вызывающего пользователя.
- Исключения:
-
SecurityException- Если менеджер безопасности присутствует и он отказываетсяRuntimePermission("preferences"). - См. также:
RuntimePermission
systemRoot
public static Preferences systemRoot()
Возвращает корневой узел настроек для системы.
- Возвращаемое значение:
- корневой узел настроек для системы.
- Исключения:
-
SecurityException- Если менеджер безопасности присутствует и он отказываетсяRuntimePermission("preferences"). - См. также:
RuntimePermission
put
public abstract void put(String key,
String value) Связывает указанное значение с указанным ключом в этом узле настроек.
- Параметры:
-
key- ключ, с которым должно быть связано указанное значение. -
value- значение, которое должно быть связано с указанным ключом. - Исключения:
-
NullPointerException- если ключ или значение являютсяnull. -
IllegalArgumentException- еслиkey.length()превышаетMAX_KEY_LENGTHили еслиvalue.lengthпревышаетMAX_VALUE_LENGTH. -
IllegalStateException- если этот узел (или предок) был удалён методомremoveNode(). -
IllegalArgumentException- если ключ или значение содержат нулевой управляющий символ, код U+0000.
get
public abstract String get(String key,
String def) Возвращает значение, связанное с указанным ключом в этом узле настроек. Возвращает указанное значение по умолчанию, если значение, связанное с ключом, отсутствует или хранилище недоступно.
Некоторые реализации могут хранить значения по умолчанию в своих хранилищах. Если значение, связанное с указанным ключом, отсутствует, но есть такое хранимое значение по умолчанию, оно возвращается вместо указанного значения по умолчанию.
- Параметры:
-
key- ключ, связанное значение которого должно быть возвращено. -
def- значение, которое должно быть возвращено в случае, если в этом узле настроек нет значения, связанного сkey. - Возвращаемое значение:
- значение, связанное с
key, илиdefесли значение не связано сkey, или хранилище недоступно. - Исключения:
-
IllegalStateException- если этот узел (или предок) был удалён методомremoveNode(). -
NullPointerException- еслиkeyравенnull. (Значениеnullдляdefразрешено.) -
IllegalArgumentException- если ключ содержит нулевой управляющий символ, код U+0000.
remove
public abstract void remove(String key)
Удаляет значение, связанное с указанным ключом в этом узле настроек, если оно есть.
Если эта реализация поддерживает хранимые значения по умолчанию и существует такое значение по умолчанию для указанной настройки, хранимое значение по умолчанию будет «раскрыто» этим вызовом в том смысле, что оно будет возвращено последующим вызовом к get.
- Параметры:
-
key- ключ, отображение которого должно быть удалено из узла настроек. - Исключения:
-
NullPointerException- еслиkeyравенnull. -
IllegalStateException- если этот узел (или предок) был удалён методомremoveNode(). -
IllegalArgumentException- если ключ содержит нулевой управляющий символ, код U+0000.
clear
public abstract void clear()
throws BackingStoreException Удаляет все настройки (сопоставления ключ-значение) в этом узле настроек. Этот вызов не оказывает никакого влияния на потомков этого узла.
Если эта реализация поддерживает хранимые значения по умолчанию и этот узел в иерархии настроек содержит такие значения по умолчанию, хранимые значения по умолчанию будут «раскрыты» этим вызовом в том смысле, что они будут возвращены последующими вызовами к get.
- Исключения:
-
BackingStoreException- если эта операция не может быть выполнена из-за ошибки в хранилище или невозможности с ним связаться. -
IllegalStateException- если этот узел (или предок) был удалён методомremoveNode(). - См. также:
removeNode()
putInt
public abstract void putInt(String key,
int value) Связывает строку, представляющую указанное целое значение, с указанным ключом в этом узле настроек. Связанная строка — та, которая была бы возвращена, если бы целое значение было передано в Integer.toString(int). Этот метод предназначен для использования совместно с getInt(java.lang.String, int).
- Параметры:
-
key- ключ, с которым должна быть связана строковая форма значения. -
value- значение, строковая форма которого должна быть связана с ключом. - Исключения:
-
NullPointerException- еслиkeyравноnull. -
IllegalArgumentException- еслиkey.length()превышаетMAX_KEY_LENGTH. -
IllegalStateException- если этот узел (или предок) был удалён методомremoveNode(). -
IllegalArgumentException- если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
getInt(String,int)
getInt
public abstract int getInt(String key,
int def) Возвращает значение типа int, представленное строкой, связанной с указанным ключом в этом узле настроек. Строка преобразуется в целое число, как в Integer.parseInt(String). Возвращает указанное значение по умолчанию, если нет значения, связанного с ключом, хранилище недоступно или если Integer.parseInt(String) выбросит исключение NumberFormatException, если связанное значение было передано. Этот метод предназначен для использования совместно с putInt(java.lang.String, int).
Если реализация поддерживает хранимые значения по умолчанию и такое значение по умолчанию существует, доступно и может быть преобразовано в int с помощью Integer.parseInt, возвращается это целое число вместо указанного значения по умолчанию.
- Параметры:
-
key- ключ, связанное значение которого должно быть возвращено как int. -
def- значение, которое должно быть возвращено в случае, если в этом узле настроек нет значения, связанного сkey, или связанное значение не может быть интерпретировано как int, или хранилище недоступно. - Возвращает:
- значение типа int, представленное строкой, связанной с
keyв этом узле настроек, илиdef, если связанного значения не существует или оно не может быть интерпретировано как int. - Исключения:
-
IllegalStateException- если этот узел (или предковый) был удалён методомremoveNode(). -
NullPointerException- еслиkeyравноnull. -
IllegalArgumentException- если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
-
putInt(String,int),get(String,String)
putLong
public abstract void putLong(String key,
long value) Связывает строку, представляющую указанное значение long, с указанным ключом в этом узле настроек. Связанная строка — та, которая была бы возвращена, если бы значение long было передано в Long.toString(long). Этот метод предназначен для использования совместно с getLong(java.lang.String, long).
- Параметры:
-
key- ключ, с которым должна быть связана строковая форма значения. -
value- значение, строковая форма которого должна быть связана с ключом. - Исключения:
-
NullPointerException- еслиkeyравноnull. -
IllegalArgumentException- еслиkey.length()превышаетMAX_KEY_LENGTH. -
IllegalStateException- если этот узел (или предковый) был удалён методомremoveNode(). -
IllegalArgumentException- если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
getLong(String,long)
getLong
public abstract long getLong(String key,
long def) Возвращает значение типа long, представленное строкой, связанной с указанным ключом в этом узле настроек. Строка преобразуется в long, как в Long.parseLong(String). Возвращает указанное значение по умолчанию, если нет значения, связанного с ключом, хранилище недоступно или если Long.parseLong(String) выбросит исключение NumberFormatException, если связанное значение было передано. Этот метод предназначен для использования совместно с putLong(java.lang.String, long).
Если реализация поддерживает хранимые значения по умолчанию и такое значение по умолчанию существует, доступно и может быть преобразовано в long с помощью Long.parseLong, возвращается это значение long вместо указанного значения по умолчанию.
- Параметры:
-
key- ключ, связанное значение которого должно быть возвращено как long. -
def- значение, которое должно быть возвращено в случае, если в этом узле настроек нет значения, связанного сkey, или связанное значение не может быть интерпретировано как long, или хранилище недоступно. - Возвращает:
- значение типа long, представленное строкой, связанной с
keyв этом узле настроек, илиdef, если связанного значения не существует или оно не может быть интерпретировано как long. - Исключения:
-
IllegalStateException- если этот узел (или предковый) был удалён методомremoveNode(). -
NullPointerException- еслиkeyравноnull. -
IllegalArgumentException- если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
-
putLong(String,long),get(String,String)
putBoolean
public abstract void putBoolean(String key,
boolean value) Связывает строку, представляющую указанное булево значение, с указанным ключом в этом узле настроек. Связанная строка — "true", если значение истинно, и "false", если оно ложно. Этот метод предназначен для использования совместно с getBoolean(java.lang.String, boolean).
- Параметры:
-
key- ключ, с которым должна быть связана строковая форма значения. -
value- значение, строковая форма которого должна быть связана с ключом. - Исключения:
-
NullPointerException- еслиkeyравноnull. -
IllegalArgumentException- еслиkey.length()превышаетMAX_KEY_LENGTH. -
IllegalStateException- если этот узел (или предковый) был удалён методомremoveNode(). -
IllegalArgumentException- если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
-
getBoolean(String,boolean),get(String,String)
getBoolean
public abstract boolean getBoolean(String key,
boolean def) Возвращает булево значение, представленное строкой, связанной с указанным ключом в этом узле настроек. Допустимые строки — "true", представляющая true, и "false", представляющая false. Регистр игнорируется, поэтому, например, "TRUE" и "False" также допустимы. Этот метод предназначен для использования совместно с putBoolean(java.lang.String, boolean).
Возвращает указанное значение по умолчанию, если нет значения, связанного с ключом, хранилище недоступно или связанное значение — не "true" или "false", игнорируя регистр.
Если реализация поддерживает хранимые значения по умолчанию и такое значение по умолчанию существует и доступно, оно используется вместо указанного значения по умолчанию, если хранимое значение по умолчанию не "true" или "false", игнорируя регистр, в противном случае используется указанное значение по умолчанию.
- Параметры:
-
key- ключ, связанное значение которого должно быть возвращено как boolean. -
def- значение, которое должно быть возвращено в случае, если в этом узле настроек нет значения, связанного сkey, или связанное значение не может быть интерпретировано как boolean, или хранилище недоступно. - Возвращает:
- булево значение, представленное строкой, связанной с
keyв этом узле настроек, илиdef, если связанного значения не существует или оно не может быть интерпретировано как boolean. - Исключения:
-
IllegalStateException- если этот узел (или предковый) был удалён методомremoveNode(). -
NullPointerException- еслиkeyравноnull. -
IllegalArgumentException- если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
-
get(String,String),putBoolean(String,boolean)
putFloat
public abstract void putFloat(String key,
float value) Связывает строку, представляющую указанное значение float, с указанным ключом в этом узле настроек. Связанная строка — та, которая была бы возвращена, если бы значение float было передано в Float.toString(float). Этот метод предназначен для использования совместно с getFloat(java.lang.String, float).
- Параметры:
-
key- ключ, с которым должна быть связана строковая форма значения. -
value- значение, строковая форма которого должна быть связана с ключом. - Исключения:
-
NullPointerException- еслиkeyравноnull. -
IllegalArgumentException- еслиkey.length()превышаетMAX_KEY_LENGTH. -
IllegalStateException- если этот узел (или предковый) был удалён методомremoveNode(). -
IllegalArgumentException- если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
getFloat(String,float)
getFloat
public abstract float getFloat(String key,
float def) Возвращает значение типа float, представленное строкой, связанной с указанным ключом в этом узле настроек. Строка преобразуется в целое число как в Float.parseFloat(String). Возвращает указанное значение по умолчанию, если нет значения, связанного с ключом, хранилище недоступно или если Float.parseFloat(String) выбросит исключение NumberFormatException, если связанное значение было передано. Этот метод предназначен для использования совместно с putFloat(java.lang.String, float).
Если реализация поддерживает хранимые значения по умолчанию и такое значение по умолчанию существует, доступно и может быть преобразовано в float с помощью Float.parseFloat, возвращается это значение float вместо указанного значения по умолчанию.
- Параметры:
-
key— ключ, связанное значение которого должно быть возвращено как число с плавающей точкой. -
def— значение, которое должно быть возвращено в случае, если у этого узла настроек нет значения, связанного сkey, или связанное значение не может быть интерпретировано как число с плавающей точкой, или доступ к хранилищу недоступен. - Возвращает:
- значение с плавающей точкой, представленное строкой, связанной с
keyв этом узле настроек, илиdef, если связанное значение отсутствует или не может быть интерпретировано как число с плавающей точкой. - Выбрасывает:
-
IllegalStateException— если этот узел (или предшественник) был удален методомremoveNode(). -
NullPointerException— еслиkeyравноnull. -
IllegalArgumentException— если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
-
putFloat(String,float),get(String,String)
putDouble
public abstract void putDouble(String key,
double value) Связывает строку, представляющую заданное значение типа double, с указанным ключом в этом узле настроек. Связанная строка — это та, которая была бы возвращена, если бы значение типа double было передано в Double.toString(double). Этот метод предназначен для использования совместно с getDouble(java.lang.String, double).
- Параметры:
-
key— ключ, с которым должна быть связана строковая форма значения. -
value— значение, строковая форма которого должна быть связана с ключом. - Выбрасывает:
-
NullPointerException— еслиkeyравноnull. -
IllegalArgumentException— еслиkey.length()превышаетMAX_KEY_LENGTH. -
IllegalStateException— если этот узел (или предшественник) был удален методомremoveNode(). -
IllegalArgumentException— если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
getDouble(String,double)
getDouble
public abstract double getDouble(String key,
double def) Возвращает значение типа double, представленное строкой, связанной с указанным ключом в этом узле настроек. Строка преобразуется в целое число с помощью Double.parseDouble(String). Возвращает указанное значение по умолчанию, если нет значения, связанного с ключом, хранилище недоступно или если Double.parseDouble(String) вызовет NumberFormatException, если связанное значение было передано. Этот метод предназначен для использования совместно с putDouble(java.lang.String, double).
Если реализация поддерживает хранимые значения по умолчанию и такое значение по умолчанию существует, доступно и может быть преобразовано в тип double с помощью Double.parseDouble, возвращается это значение double вместо указанного значения по умолчанию.
- Параметры:
-
key— ключ, связанное значение которого должно быть возвращено как число с плавающей точкой double. -
def— значение, которое должно быть возвращено в случае, если у этого узла настроек нет значения, связанного сkey, или связанное значение не может быть интерпретировано как число с плавающей точкой double, или доступ к хранилищу недоступен. - Возвращает:
- значение типа double, представленное строкой, связанной с
keyв этом узле настроек, илиdef, если связанное значение отсутствует или не может быть интерпретировано как число с плавающей точкой double. - Выбрасывает:
-
IllegalStateException— если этот узел (или предшественник) был удален методомremoveNode(). -
NullPointerException— еслиkeyравноnull. -
IllegalArgumentException— если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
-
putDouble(String,double),get(String,String)
putByteArray
public abstract void putByteArray(String key,
byte[] value) Связывает строку, представляющую заданный массив байтов, с указанным ключом в этом узле настроек. Связанная строка — это кодировка массива байтов в формате Base64, как определено в RFC 2045, раздел 6.8, с незначительным изменением: строка будет состоять только из символов из алфавита Base64; она не будет содержать символов новой строки. Обратите внимание, что максимальная длина массива байтов ограничена тремя четвертями MAX_VALUE_LENGTH, чтобы длина закодированной в Base64 строки не превышала MAX_VALUE_LENGTH. Этот метод предназначен для использования совместно с getByteArray(java.lang.String, byte[]).
- Параметры:
-
key— ключ, с которым должна быть связана строковая форма значения. -
value— значение, строковая форма которого должна быть связана с ключом. - Выбрасывает:
-
NullPointerException— если ключ или значение равныnull. -
IllegalArgumentException— если длина ключа превышает MAX_KEY_LENGTH, или длина значения превышает MAX_VALUE_LENGTH*3/4. -
IllegalStateException— если этот узел (или предшественник) был удален методомremoveNode(). -
IllegalArgumentException— если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
-
getByteArray(String,byte[]),get(String,String)
getByteArray
public abstract byte[] getByteArray(String key,
byte[] def) Возвращает массив байтов, представленный строкой, связанной с указанным ключом в этом узле настроек. Действительные строки — это данные, закодированные в формате Base64, как определено в RFC 2045, раздел 6.8, с незначительным изменением: строка должна состоять только из символов из алфавита Base64; не допускаются символы новой строки или дополнительные символы. Этот метод предназначен для использования совместно с putByteArray(java.lang.String, byte[]).
Возвращает указанное значение по умолчанию, если нет значения, связанного с ключом, хранилище недоступно или связанное значение не является допустимым массивом байтов, закодированным в Base64 (как определено выше).
Если реализация поддерживает хранимые значения по умолчанию, и такое значение по умолчанию существует и доступно, оно используется вместо указанного значения по умолчанию, если хранимое значение по умолчанию не является допустимым массивом байтов, закодированным в Base64 (как определено выше), в этом случае используется указанное значение по умолчанию.
- Параметры:
-
key— ключ, связанное значение которого должно быть возвращено в виде массива байтов. -
def— значение, которое должно быть возвращено в случае, если у этого узла настроек нет значения, связанного сkey, или связанное значение не может быть интерпретировано как массив байтов, или доступ к хранилищу недоступен. - Возвращает:
- массив байтов, представленный строкой, связанной с
keyв этом узле настроек, илиdef, если связанное значение отсутствует или не может быть интерпретировано как массив байтов. - Выбрасывает:
-
IllegalStateException— если этот узел (или предшественник) был удален методомremoveNode(). -
NullPointerException— еслиkeyравноnull. (Значениеnullдляdefразрешено.) -
IllegalArgumentException— если ключ содержит нулевой управляющий символ, код U+0000. - См. также:
-
get(String,String),putByteArray(String,byte[])
keys
public abstract String[] keys()
throws BackingStoreException Возвращает все ключи, имеющие связанное значение в этом узле настроек. (Возвращаемый массив будет иметь размер ноль, если у этого узла нет настроек.)
Если реализация поддерживает хранимые значения по умолчанию и существуют такие значения по умолчанию в этом узле, которые не были переопределены явными настройками, значения по умолчанию возвращаются в массиве вместе с любыми явными настройками.
- Возвращает:
- массив ключей, имеющих связанное значение в этом узле настроек.
- Выбрасывает:
-
BackingStoreException— если эту операцию нельзя выполнить из-за сбоя в хранилище или невозможности с ним связаться. -
IllegalStateException— если этот узел (или предшественник) был удален методомremoveNode().
childrenNames
public abstract String[] childrenNames()
throws BackingStoreException Возвращает имена дочерних узлов этого узла настроек, относительно этого узла. (Возвращаемый массив будет иметь размер ноль, если у этого узла нет дочерних узлов.)
- Возвращает:
- имена дочерних узлов этого узла настроек.
- Выбрасывает:
-
BackingStoreException— если эту операцию нельзя выполнить из-за сбоя в хранилище или невозможности с ним связаться. -
IllegalStateException— если этот узел (или предшественник) был удален методомremoveNode().
parent
public abstract Preferences parent()
Возвращает родительский узел этого узла настроек, или null если это корневой узел.
- Возвращает:
- родительский узел этого узла настроек.
- Выбрасывает:
-
IllegalStateException— если этот узел (или предшественник) был удален методомremoveNode().
node
public abstract Preferences node(String pathName)
Возвращает узел настроек с заданным именем в том же дереве, что и этот узел, создавая его и любые предшественники, если они еще не существуют. Принимает имя относительного или абсолютного пути. Имена относительных путей (не начинающиеся со слеша ('/')) интерпретируются относительно этого узла настроек.
Если возвращенный узел не существовал до этого вызова, этот узел и любые предшественники, созданные этим вызовом, не гарантируются как постоянные до тех пор, пока метод flush не будет вызван на возвращенном узле (или на одном из его предшественников или потомков).
- Параметры:
-
pathName- имя пути узла предпочтения, который нужно вернуть. - Возвращает:
- указанный узел предпочтения.
- Выбрасывает:
-
IllegalArgumentException- если имя пути некорректно (т.е., содержит несколько последовательных символов косой черты или заканчивается символом косой черты и имеет длину больше одного символа). -
NullPointerException- если имя путиnull. -
IllegalStateException- если этот узел (или его предок) был удален методомremoveNode(). - См. также:
flush()
nodeExists
public abstract boolean nodeExists(String pathName)
throws BackingStoreException Возвращает true, если узел предпочтения с заданным именем существует в том же дереве, что и текущий узел. Относительные имена путей (не начинающиеся с символа косой черты ('/')) интерпретируются относительно текущего узла предпочтения.
Если этот узел (или его предок) уже был удален методом removeNode(), вызов этого метода разрешен, но только с именем пути ""; вызов вернёт false. Таким образом, конструкция p.nodeExists("") может использоваться для проверки, был ли p удалён.
- Параметры:
-
pathName- имя пути узла, существование которого нужно проверить. - Возвращает:
- true, если указанный узел существует.
- Выбрасывает:
-
BackingStoreException- если операция не может быть выполнена из-за сбоя в хранилище данных или невозможности связи с ним. -
IllegalArgumentException- если имя пути некорректно (т.е., содержит несколько последовательных символов косой черты или заканчивается символом косой черты и имеет длину больше одного символа). -
NullPointerException- если имя путиnull. -
IllegalStateException- если этот узел (или его предок) был удален методомremoveNode()иpathNameне пустая строка ("").
removeNode
public abstract void removeNode()
throws BackingStoreException Удаляет узел предпочтения и все его дочерние узлы, делая недоступными любые предпочтения, содержащиеся в удалённых узлах. После удаления узла, любая попытка вызвать метод, кроме name(), absolutePath(), isUserNode(), flush() или nodeExists("") на соответствующем экземпляре Preferences завершится ошибкой IllegalStateException. (Методы, определённые в Object, всё ещё могут вызываться на узле после его удаления; они не будут вызывать IllegalStateException.)
Гарантируется, что удаление станет постоянным только после вызова метода flush на этом узле (или его предке).
Если эта реализация поддерживает хранимые значения по умолчанию, удаление узла делает доступными все хранимые значения по умолчанию в данном и дочерних узлах. Таким образом, последующий вызов nodeExists с именем пути этого узла может вернуть true, а последующий вызов node с этим именем пути может вернуть (другой) экземпляр Preferences, представляющий непустой набор предпочтений и/или дочерних узлов.
- Выбрасывает:
-
BackingStoreException- если операция не может быть выполнена из-за сбоя в хранилище данных или невозможности связи с ним. -
IllegalStateException- если этот узел (или его предок) уже был удалён методомremoveNode(). -
UnsupportedOperationException- если этот метод вызван на корневом узле. - См. также:
flush()
name
public abstract String name()
Возвращает имя узла предпочтения, относительно его родителя.
- Возвращает:
- имя узла предпочтения, относительно его родителя.
absolutePath
public abstract String absolutePath()
Возвращает абсолютное имя пути узла предпочтения.
- Возвращает:
- абсолютное имя пути узла предпочтения.
isUserNode
public abstract boolean isUserNode()
Возвращает true , если узел предпочтения находится в дереве пользовательских предпочтений, false , если он находится в дереве системных предпочтений.
- Возвращает:
-
true, если этот узел предпочтения находится в дереве пользовательских предпочтений,false, если он находится в дереве системных предпочтений.
toString
public abstract String toString()
Возвращает строковое представление узла предпочтения, как если бы оно было вычислено выражением: (this.isUserNode() ? "User" :
"System") + " Preference Node: " + this.absolutePath().
flush
public abstract void flush()
throws BackingStoreException Принудительно записывает все изменения в содержимом этого узла предпочтения и его потомков в постоянное хранилище. После успешного возврата этого метода можно считать, что все изменения, внесенные в поддерево, укоренённое в этом узле до вызова метода, стали постоянными.
Реализации могут записывать изменения в постоянное хранилище в любое время. Им не нужно ждать вызова этого метода.
При записи в новый узел, он становится постоянным, также как и любые предки (и потомки), которые ещё не стали постоянными. Однако, изменения значений предпочтений в предках не гарантируются.
Если этот метод вызывается на узле, который был удалён методом removeNode(), flushSpi() вызывается на этом узле, но не на других.
- Выбрасывает:
-
BackingStoreException- если операция не может быть выполнена из-за сбоя в хранилище данных или невозможности связи с ним. - См. также:
sync()
sync
public abstract void sync()
throws BackingStoreException Обеспечивает, что будущие чтение из этого узла предпочтения и его потомков отражают все изменения, которые были внесены в постоянное хранилище (любым JVM) до вызова sync. В качестве побочного эффекта, принудительно записывает любые изменения в содержимом этого узла предпочтения и его потомков в постоянное хранилище, как если бы метод flush был вызван на этом узле.
- Выбрасывает:
-
BackingStoreException- если операция не может быть выполнена из-за сбоя в хранилище данных или невозможности связи с ним. -
IllegalStateException- если этот узел (или его предок) был удален методомremoveNode(). - См. также:
flush()
addPreferenceChangeListener
public abstract void addPreferenceChangeListener(PreferenceChangeListener pcl)
Регистрирует указанный слушатель для получения событий изменения предпочтения для этого узла предпочтения. Событие изменения предпочтения генерируется при добавлении предпочтения в этот узел, удалении из этого узла или изменении значения, связанного с предпочтением. (События изменения предпочтения не генерируются методом removeNode(), который генерирует событие изменения узла. События изменения предпочтения генерируются методом clear.)
Гарантируется получение событий только для изменений, внесенных в той же JVM, что и зарегистрированный слушатель, хотя некоторые реализации могут генерировать события для изменений, внесённых вне этой JVM. События могут быть сгенерированы до того, как изменения станут постоянными. События не генерируются при изменении предпочтений в потомках этого узла; для получения таких событий необходимо зарегистрировать слушателя для каждого потомка.
- Параметры:
-
pcl- слушатель изменений предпочтений для добавления. - Выбрасывает:
-
NullPointerException- еслиpclравно null. -
IllegalStateException- если этот узел (или его предок) был удален методомremoveNode(). - См. также:
-
removePreferenceChangeListener(PreferenceChangeListener),addNodeChangeListener(NodeChangeListener)
removePreferenceChangeListener
public abstract void removePreferenceChangeListener(PreferenceChangeListener pcl)
Удаляет указанного слушателя изменений предпочтений, чтобы он больше не получал события изменения предпочтений.
- Параметры:
-
pcl- слушатель изменений предпочтений для удаления. - Выбрасывает:
-
IllegalArgumentException- еслиpclне был зарегистрированным слушателем изменений предпочтений для этого узла. -
IllegalStateException- если этот узел (или его предок) был удален методомremoveNode(). - См. также:
addPreferenceChangeListener(PreferenceChangeListener)
addNodeChangeListener
public abstract void addNodeChangeListener(NodeChangeListener ncl)
Регистрирует указанного слушателя для получения событий изменения узла для этого узла. Событие изменения узла генерируется при добавлении или удалении дочернего узла к этому узлу. (Один вызов removeNode() генерирует несколько событий изменения узла, по одному для каждого узла в поддереве, удалённом из узла.)
Гарантируется получение событий только для изменений, внесённых в той же JVM, что и зарегистрированный слушатель, хотя некоторые реализации могут генерировать события для изменений, внесённых вне этой JVM. События могут быть сгенерированы до того, как изменения станут постоянными. События не генерируются при добавлении или удалении косвенных потомков этого узла; для получения таких событий необходимо зарегистрировать слушателя для каждого потомка.
Гарантий относительно создания узлов мало. Поскольку узлы создаются неявно при обращении, реализация может не определить, существовал ли дочерний узел в постоянном хранилище до обращения (например, из-за недоступности постоянного хранилища или неактуальности кэшированной информации). В таких случаях реализации не обязаны генерировать события изменения узла и не запрещено их генерировать.
- Параметры:
-
ncl- ДобавляемыйNodeChangeListener. - Исключения:
-
NullPointerException- еслиnclимеет значение null. -
IllegalStateException- если этот узел (или предковый) был удалён методомremoveNode(). - См. также:
-
removeNodeChangeListener(NodeChangeListener),addPreferenceChangeListener(PreferenceChangeListener)
removeNodeChangeListener
public abstract void removeNodeChangeListener(NodeChangeListener ncl)
Удаляет указанное NodeChangeListener, чтобы оно больше не получало события изменения.
- Параметры:
-
ncl- УдаляемыйNodeChangeListener. - Исключения:
-
IllegalArgumentException- еслиnclне был зарегистрированнымNodeChangeListenerдля этого узла. -
IllegalStateException- если этот узел (или предковый) был удалён методомremoveNode(). - См. также:
addNodeChangeListener(NodeChangeListener)
exportNode
public abstract void exportNode(OutputStream os)
throws IOException,
BackingStoreException Выводит в указанный поток вывода XML-документ, представляющий все предпочтения, содержащиеся в этом узле (но не его потомки). Этот XML-документ фактически является автономной резервной копией узла.
XML-документ будет иметь следующее объявление DOCTYPE:
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">Будет использовано кодирование UTF-8.
Этот метод является исключением из общего правила, что результаты одновременного выполнения нескольких методов в этом классе эквивалентны некоторому последовательному выполнению. Если предпочтения в этом узле изменяются одновременно с вызовом этого метода, экспортированные предпочтения представляют собой «неточную моментальную фотографию» предпочтений, содержащихся в узле; некоторые одновременные изменения могут быть отражены в экспортированных данных, а другие — нет.
- Параметры:
-
os- поток вывода, в который будет выведен XML-документ. - Исключения:
-
IOException- если запись в указанный поток вывода приводит кIOException. -
BackingStoreException- если данные предпочтений не могут быть считаны из памяти. -
IllegalStateException- если этот узел (или предковый) был удалён методомremoveNode(). - См. также:
importPreferences(InputStream)
exportSubtree
public abstract void exportSubtree(OutputStream os)
throws IOException,
BackingStoreException Выводит XML-документ, представляющий все предпочтения, содержащиеся в этом узле и во всех его потомках. Этот XML-документ фактически является автономной резервной копией поддерева, укоренённого в узле.
XML-документ будет иметь следующее объявление DOCTYPE:
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">Будет использовано кодирование UTF-8.
Этот метод является исключением из общего правила, что результаты одновременного выполнения нескольких методов в этом классе эквивалентны некоторому последовательному выполнению. Если предпочтения или узлы в поддереве, укоренённом в этом узле, изменяются одновременно с вызовом этого метода, экспортированные предпочтения представляют собой «неточную моментальную фотографию» поддерева; некоторые одновременные изменения могут быть отражены в экспортированных данных, а другие — нет.
- Параметры:
-
os- поток вывода, в который будет выведен XML-документ. - Исключения:
-
IOException- если запись в указанный поток вывода приводит кIOException. -
BackingStoreException- если данные предпочтений не могут быть считаны из памяти. -
IllegalStateException- если этот узел (или предковый) был удалён методомremoveNode(). - См. также:
-
importPreferences(InputStream),exportNode(OutputStream)
importPreferences
public static void importPreferences(InputStream is)
throws IOException,
InvalidPreferencesFormatException Импортирует все предпочтения, представленные XML-документом в указанном потоке ввода. Документ может представлять пользовательские или системные предпочтения. Если он представляет пользовательские предпочтения, предпочтения будут импортированы в дерево предпочтений вызывающего пользователя (даже если они изначально пришли из дерева предпочтений другого пользователя). Если какие-либо из предпочтений, описанных в документе, находятся в узлах предпочтений, которых нет, узлы будут созданы.
XML-документ должен иметь следующее объявление DOCTYPE:
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">(Этот метод предназначен для использования совместно с
exportNode(OutputStream) и exportSubtree(OutputStream). Этот метод является исключением из общего правила, что результаты одновременного выполнения нескольких методов в этом классе эквивалентны некоторому последовательному выполнению. Метод работает так, как будто он реализован поверх других публичных методов в этом классе, в частности node(String) и put(String, String).
- Параметры:
-
is- поток ввода для чтения XML-документа. - Исключения:
-
IOException- если чтение из указанного потока ввода приводит кIOException. -
InvalidPreferencesFormatException- Данные в потоке ввода не представляют собой допустимый XML-документ с требуемым типом документа. -
SecurityException- Если менеджер безопасности присутствует и он отказываетсяRuntimePermission("preferences"). - См. также:
RuntimePermission
© 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.prefs/java/util/prefs/Preferences.html