Properties.Load 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| 名称 | 说明 |
|---|---|
| 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 或 \r\n)或流末尾终止的字符行。 自然行可以是空白行、批注行或保留全部或部分键元素对。 逻辑行保存键元素对的所有数据,该数据可以通过转义带反斜杠字符 \的行终止符序列,在多个相邻的自然行之间分布。 请注意,不能以这种方式扩展注释行;每个作为注释的自然行都必须有自己的批注指示器,如下所述。 从输入中读取行,直到到达流的末尾。
仅包含空格字符的自然行被视为空白且被忽略。 注释行具有 ASCII '#' 或其 '!' 第一个非空白字符;注释行也将被忽略,并且不对键元素信息进行编码。 除了行终止符外,此格式还考虑字符空间(、制表符、' ''\t''\u005Cu0009'制表符和窗体源('\f')'\u005Cu000C'为空白。 '\u005Cu0020'
如果逻辑线分布在多个自然行之间,则反斜杠将转义行终止符序列、行终止符序列以及以下行开头的任何空格对键或元素值没有任何影响。 关键和元素分析(加载时)的其余部分将假定构成键和元素的所有字符在删除行延续字符后显示在单个自然行上。 请注意,仅检查行终止符序列前面的字符以确定行终止符是否转义是不够的;必须有一个奇数的连续反斜杠,才能转义行终止符。 由于输入从左到右进行处理,因此在换行终止符(或其他位置)在转义处理后对 n 个反斜杠进行编码之前,非零偶数为 2n 个连续反斜杠。
该键包含行中以第一个非空格字符开头的所有字符,但不包括第一个未转义 '='字符 ':'或空格字符,而不是行终止符。 所有这些密钥终止字符都可以包含在密钥中,方法是使用前面的反斜杠字符转义这些字符;例如,
\:\=
将是双字符键 ":="。 可以使用和\n转义序列包含\r行终止符字符。 跳过密钥后的任何空格;如果键 '=' 之后的第一个非空格字符, ':'则忽略该字符,并且跳过后的任何空格字符。 行中的所有剩余字符将成为关联元素字符串的一部分;如果没有剩余字符,则元素为空字符串 ""。 确定构成键和元素的原始字符序列后,执行转义处理,如上所述。
例如,以下三行中的每个行指定键 "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" 且关联的元素为空字符串 ""。
键和元素中的“unicodeescapes”
字符转义序列和用于字符和字符串的 Unicode 转义的区别包括:
<ul><li> Octal escapes are not recognized.
<li> 字符序列\b不表示 backspace 字符。
<li> 此方法不将反斜杠字符(在无效转义字符 \前)视为错误;反斜杠以无提示方式删除。 例如,在Java字符串中,序列"\z"会导致编译时错误。 相比之下,此方法以无提示方式删除反斜杠。 因此,此方法将两个字符序列 "\b" 视为等效于单个字符 'b'。
<对于> 单引号和双引号,li Escape 不是必需的;但是,根据上述规则,单引号和双引号字符之前,反斜杠仍分别生成单引号和双引号字符。
<li> Unicode 转义序列中只允许单个“u”字符。
</ul>
此方法返回后,指定的流将保持打开状态。
已在 1.6 中添加。
Java文档java.util.Properties.load(java.io.Reader)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
适用于
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 字符。 未在 Latin1 中的字符,以及某些特殊字符,使用 Unicode 转义在引用
此方法返回后,指定的流将保持打开状态。
已在 1.2 中添加。
Java文档java.util.Properties.load(java.io.InputStream)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。