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
入力文字ストリーム。
- 属性
例外
注釈
単純な行指向形式で入力文字ストリームからプロパティ リスト (キーと要素のペア) を読み取ります。
プロパティは行の観点から処理されます。 自然な線と論理線の 2 種類があります。 自然行は、一連の行終端記号文字 (\n または \r または \r\n) またはストリームの末尾によって終了される文字の行として定義されます。 自然な行には、空白行、コメント行、またはキーと要素のペアのすべてまたは一部を保持できます。 論理行は、キーと要素のペアのすべてのデータを保持します。これは、円記号文字 \で行ターミネータ シーケンスをエスケープすることによって、隣接するいくつかの自然な行に広がる可能性があります。 コメント行は、この方法では拡張できないことに注意してください。コメントであるすべての自然な行には、以下で説明するように、独自のコメント インジケーターが必要です。 行は、ストリームの末尾に達するまで入力から読み取られます。
空白文字のみを含む自然な行は空白と見なされ、無視されます。 コメント行には、最初の空白以外の文字として ASCII '#' または '!' があります。コメント行も無視され、キー要素情報はエンコードされません。 この形式では、行終端記号に加えて、文字スペース (' '、 '\u005Cu0020')、タブ ('\t'、 '\u005Cu0009')、フォーム フィード ('\f'、 '\u005Cu000C') は空白と見なされます。
論理行が複数の自然な行に分散している場合、行ターミネータ シーケンス、行ターミネータ シーケンス、および次の行の先頭の空白をエスケープするバックスラッシュは、キーまたは要素の値には影響しません。 キーと要素の解析 (読み込み時) の残りの部分では、行連結文字が削除された後、キーと要素を構成するすべての文字が 1 つの自然な行に表示されることを前提としています。 行ターミネータ シーケンスの前にある文字だけを調べて、行ターミネータがエスケープされているかどうかを判断するだけで は不十 分であることに注意してください。行ターミネータをエスケープするには、奇数個の連続する円記号が必要です。 入力は左から右に処理されるため、行ターミネータ (または他の場所) がエスケープ処理後に n 個の円記号をエンコードする前に、2n 個の連続する円記号が 0 以外の偶数になります。
キーには、最初の空白以外の文字から始まり、行ターミネータ以外の最初のエスケープ解除された '='、 ':'、または空白文字まで (含まない) 行内のすべての文字が含まれます。 これらのキー終了文字はすべて、前の円記号でエスケープすることで、キーに含めることができます。たとえば、次のようになります。
\:\=
は、2 文字のキー ":="になります。 行ターミネータ文字は、 \r および \n エスケープ シーケンスを使用して含めることができます。 キーがスキップされた後の空白。キーの後の最初の空白以外の文字が '=' または ':'場合は無視され、後の空白文字もスキップされます。 行の残りの文字はすべて、関連付けられた要素文字列の一部になります。残りの文字がない場合、要素は空の文字列 ""。 キーと要素を構成する生文字シーケンスが特定されると、前述のようにエスケープ処理が実行されます。
たとえば、次の 3 行はそれぞれ、キー "Truth" と関連する要素値 "Beauty"を指定します。
Truth = Beauty
Truth:Beauty
Truth :Beauty
別の例として、次の 3 行で 1 つのプロパティを指定します。
fruits apple, banana, pear, \
cantaloupe, watermelon, \
kiwi, mango
キーは "fruits" され、関連する要素は次のとおりです。
"apple, banana, pear, cantaloupe, watermelon, kiwi, mango"
各 \ の前にスペースが表示され、最終的な結果の各コンマの後にスペースが表示されることに注意してください。継続行の \、行終端記号、先頭の空白は単に破棄され、1 つ以上の他の文字に置き換 えられるわけではありません 。
3 番目の例として、行は次のようになります。
cheeses
は、キーが "cheeses" され、関連付けられている要素が空の文字列 ""であることを指定します。
"unicodeescapes"
文字と文字列に使用される文字エスケープ シーケンスと Unicode エスケープとの違いは次のとおりです。
<ul><li> 8 進数エスケープは認識されません。
<li> 文字シーケンス \b はバックスペース文字を表 しません 。
<li> メソッドは、無効なエスケープ文字の前に円記号 ( \) をエラーとして扱いません。バックスラッシュは自動的に削除されます。 たとえば、Java文字列では、シーケンス "\z"によってコンパイル時エラーが発生します。 これに対し、このメソッドはバックスラッシュを自動的に削除します。 したがって、このメソッドは、2 つの文字シーケンス "\b" を 1 文字の 'b'と同等として扱います。
<li> エスケープは、単一引用符と二重引用符には必要ありません。ただし、上記の規則では、円記号の前に単一引用符と二重引用符文字が付いている場合でも、それぞれ単一引用符と二重引用符文字が生成されます。
<li> Unicode エスケープ シーケンスでは、単一の 'u' 文字のみを使用できます。
</ul>
指定したストリームは、このメソッドが戻った後も開いたままです。
1.6 で追加されました。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。
適用対象
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 文字エンコードを使用すると想定されます。各バイトは 1 つの Latin1 文字です。 Latin1 以外の文字と特定の特殊文字は、
指定したストリームは、このメソッドが戻った後も開いたままです。
1.2 で追加されました。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。