Язык

Properties.Load Метод

Определение

Перегрузки

Имя. Описание
Load(Reader)

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

Load(Stream)

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

Load(Reader)

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

[Android.Runtime.Register("load", "(Ljava/io/Reader;)V", "GetLoad_Ljava_io_Reader_Handler")]
public virtual void Load(Java.IO.Reader? reader);
[<Android.Runtime.Register("load", "(Ljava/io/Reader;)V", "GetLoad_Ljava_io_Reader_Handler")>]
abstract member Load : Java.IO.Reader -> unit
override this.Load : Java.IO.Reader -> unit

Параметры

reader
Reader

входной поток символов.

Атрибуты

Исключения

Комментарии

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

Свойства обрабатываются с точки зрения строк. Существует два типа линий, естественных линий и логических линий. Естественная строка определяется как строка символов, завершающаяся набором символов конца строки (\nили) \r\nили \r концом потока. Естественная строка может быть пустой строкой, строкой комментариев или удержанием всех или некоторых пар элементов ключа. Логическая строка содержит все данные пары "ключ-элемент", которые могут быть распределены по нескольким смежным естественным линиям путем экранирования последовательности конца строки с символом \обратной косой черты. Обратите внимание, что строка комментариев не может быть расширена таким образом; каждая естественная строка, которая является комментарием, должна иметь собственный индикатор комментария, как описано ниже. Строки считываются из входных данных до конца потока.

Естественная строка, содержащая только пробелы, считается пустой и игнорируется. Строка комментариев имеет ASCII '#' или '!' в качестве первого символа, отличного от пробела; строки комментариев также игнорируются и не кодируют сведения о элементе ключа. Помимо конца строк, этот формат учитывает пробелы символов (' ', табуляции'\t''\u005Cu0009', и веб-канал'\f''\u005Cu000C' формы) для пробелов'\u005Cu0020'.

Если логическая линия распространяется по нескольким естественным линиям, обратная косая черта, экранирование последовательности конца строки, последовательность конца строки и любое пробел в начале следующей строки не влияют на значения ключа или элемента. Оставшаяся часть обсуждения синтаксического анализа ключей и элементов (при загрузке) предполагает, что все символы, составляющие ключ и элемент, отображаются в одной естественной строке после удаления символов продолжения строки. Обратите внимание, что недостаточно только проверить символ, предшествующий последовательности конца строки, чтобы определить, экранируется ли терминатор строки; Должно быть нечетное число смежных обратных косых слез для того, чтобы конечный элемент линии был сбежал. Так как входные данные обрабатываются слева направо, ненулевое число 2n непрерывной обратной косой косой черты до конца строки (или в другом месте) кодирует n обратных косых строк после escape-обработки.

Ключ содержит все символы в строке, начиная с первого символа, отличного от пробела, и вплоть до, но не включая, первый неискаченный '='':'или пробел, отличный от конца строки. Все эти символы завершения ключа могут быть включены в ключ, экранируя их с предыдущим символом обратной косой черты; например,

\:\=

будет двухзначным ключом ":=". Символы конца строки могут быть включены с помощью \r и \n escape-последовательностей. Любое пробелное пространство после пропуска ключа; Значение , если первый символ, отличный от пробела после нажатия клавиши , игнорируется и все символы пробелов после пропускаются. Все остальные символы в строке становятся частью связанной строки элемента; Если оставшиеся символы отсутствуют, элемент является пустой строкой "". После определения необработанных последовательностей символов, составляющих ключ и элемент, выполняется escape-обработка, как описано выше.

Например, каждая из следующих трех строк указывает ключ "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" , а связанный элемент — пустая строка "".

Символы в ключах и элементах юникодессы могут быть представлены в escape-последовательностях, аналогичных тем, которые используются для символьных и строковых литералов (см. разделы 3.3 и 3.10.6 в citeThe Java&; торговля; Спецификация языка/cite).

Различия от последовательностей escape-символов и escape-адресов Юникода, используемых для символов и строк:

<ul><li> octal escapes не распознаются.

<li> Последовательность символов \bне представляет символ обратного пространства.

<li> Метод не обрабатывает символ обратной косой черты, \прежде чем недопустимый escape-символ является ошибкой; обратная косая черта автоматически удаляется. Например, в строке Java последовательность "\z" приведет к ошибке времени компиляции. Напротив, этот метод автоматически удаляет обратную косую черту. Поэтому этот метод обрабатывает последовательность "\b" двух символов как эквивалентную одному символу 'b'.

<li> Escapes не требуется для однократных и двойных кавычки. Однако, по правилу выше, одинарные и двойные символы кавычки, предшествуемые обратной косой чертой, по-прежнему дают одинарные и двойные символы кавычки соответственно.

<li> Только один символ u разрешен в escape-последовательности Юникода.

</ul>

Указанный поток остается открытым после возврата этого метода.

Добавлено в версии 1.6.

Java документации по java.util.Properties.load(java.io.Reader).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к

Load(Stream)

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

[Android.Runtime.Register("load", "(Ljava/io/InputStream;)V", "GetLoad_Ljava_io_InputStream_Handler")]
public virtual void Load(System.IO.Stream? inStream);
[<Android.Runtime.Register("load", "(Ljava/io/InputStream;)V", "GetLoad_Ljava_io_InputStream_Handler")>]
abstract member Load : System.IO.Stream -> unit
override this.Load : System.IO.Stream -> unit

Параметры

inStream
Stream

входной поток.

Атрибуты

Исключения

Комментарии

Считывает список свойств (пары ключей и элементов) из входного потока байтов. Входной поток находится в простом формате, ориентированном на линию, как указано в #load(java.io.Reader) load(Reader) , и предполагается, что используется кодировка символов ISO 8859-1; то есть каждый байт является одним символом Latin1. Символы, не в Латинице1, а некоторые специальные символы представлены в ключах и элементах с помощью escape-адресов Юникода, как определено в разделе 3.3 в разделе citeThe Java& торговля; Спецификация языка/cite.

Указанный поток остается открытым после возврата этого метода.

Добавлено в версии 1.2.

Java документации по java.util.Properties.load(java.io.InputStream).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к