Properties.Load メソッド

定義

オーバーロード

Load(Stream)

入力バイト ストリームからプロパティ リスト (キーと要素のペア) を読み取ります。

Load(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 文字エンコードを使用すると想定されます。つまり、各バイトは 1 つの Latin1 文字です。 Latin1 に含まれていない文字と特定の特殊文字は、cite>のセクション 3.3 <で定義されている Unicode エスケープを使用してキーと要素で表&。言語仕様</引用>

指定したストリームは、このメソッドが戻った後も開いたままです。

1.2 で追加されました。

の Java ドキュメント java.util.Properties.load(java.io.InputStream)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

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 つの自然な行に表示されることを前提としています。 行終端記号シーケンスの前にある文字のみを調べて、行終端記号がエスケープされているかどうかを判断するだけでは十分 ではないこと に注意してください。行終端記号をエスケープするには、連続する円記号の数が奇数である必要があります。 入力は左から右に処理されるため、行終端記号 (または他の場所) の前に 2n 個 の連続する円記号の 0 以外の偶数がエスケープ処理後に n 個の円記号をエンコードします。

キーには、最初の空白以外の文字から始まり、行終端記号以外の最初のエスケープされていない '='':'、、または空白文字までの行内のすべての文字が含まれますが、含まれません。 これらのキー終了文字はすべて、前の円記号文字でエスケープすることで、キーに含めることができます。例えば

\:\=

は 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"> 文字は、文字リテラルや文字列リテラルに使用されるものと同様のエスケープ シーケンスで表すことができます (「Java&の取引」のセクション 3.3 と 3.10.6 <>を参照してください)。言語仕様</引用>)。

文字と文字列に使用される文字エスケープ シーケンスと Unicode エスケープの違いは次のとおりです。

<ul><li> Octal エスケープは認識されません。

<li> 文字シーケンス \b はバックスペース文字を表 しません

<li> メソッドは、 \無効なエスケープ文字の前の円記号 () をエラーとして扱いません。円記号は自動的に削除されます。 たとえば、Java 文字列では、シーケンス "\z" によってコンパイル時エラーが発生します。 これに対し、このメソッドはバックスラッシュを自動的に削除します。 したがって、このメソッドは、2 つの文字シーケンス "\b" を 1 文字 'b'と等価として扱います。

<li> エスケープは、単一引用符と二重引用符には必要ありません。ただし、上記の規則では、円記号の前に単一引用符と二重引用符が付いた場合でも、それぞれ単一引用符と二重引用符が生成されます。

<li> Unicode エスケープ シーケンスでは、単一の 'u' 文字のみを使用できます。

</ul>

指定したストリームは、このメソッドが戻った後も開いたままです。

1.6 で追加されました。

の Java ドキュメント java.util.Properties.load(java.io.Reader)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象