クラスProperties
- すべての実装されたインタフェース:
Serializable, Cloneable, Map<Object,Object>
- 直系の既知のサブクラス:
Provider
Propertiesクラスは、プロパティの永続セットを表します。 Propertiesを、ストリームへ保管したり、ストリームからロードしたりできます。 プロパティ・リストの各キー、およびそれに対応する値は文字列です。
プロパティ・リストには、その「デフォルト値」として別のプロパティ・リストを含めることができます。元のプロパティ・リストでプロパティ・キーが見つからない場合は、この2番目のプロパティ・リストが検索されます。
PropertiesはHashtableを継承するので、Propertiesオブジェクトに対してputメソッドおよびputAllメソッドを適用できます。 しかし、これらのメソッドを使用することは推奨されません。これらのメソッドを使うと、呼出し側はキーまたは値がStringsではないエントリを挿入できるからです。 setPropertyメソッドを代わりに使用してください。 store、saveまたはlistメソッドが、String以外のキーまたは値を含む妥協したPropertiesオブジェクトでコールされた場合、コールは失敗します。 同様に、propertyNamesメソッドの呼出しは、String以外のキーを含む妥協したPropertiesオブジェクトで呼び出されると失敗します。
このクラスの"コレクション・ビュー" (つまり、entrySet()、keySet()およびvalues()です)のiteratorメソッドによって戻されるイテレータは、(ハッシュテーブルの実装とは異なり)にフェイル・ファストできない場合があります。 これらのイテレータは、構築時に1回のみ存在したとおりに要素をトラバースすることが保証され、(しかし、保証されない)は、構築後に行われた変更を反映する場合があります。
load(Reader) / store(Writer, String)メソッドは、次に指定する単純な行指向の形式で、文字ベースのストリームとの間でプロパティをロードおよび格納します。 load(InputStream) / store(OutputStream, String)メソッドはload(Reader)/store(Writer, String)ペアと同じように動作しますが、入力/出力ストリームはISO 8859-1文字エンコーディングでエンコードされます。 このエンコーディングで直接表現できない文字は、「Java言語仕様」のセクション3.3で定義されているUnicodeエスケープを使用して書き込むことができます。エスケープ・シーケンスで使用できるのは、単一の'u'文字のみです。
loadFromXML(InputStream)およびstoreToXML(OutputStream, String, String)メソッドは、プロパティを単純なXML形式としてロードおよび格納できます。 デフォルトではUTF-8文字エンコーディングが使用されますが、必要に応じてエンコーディングを指定できます。 実装はUTF-8とUTF-16をサポートする必要があり、その他のエンコーディングもサポートできます。 XMLプロパティ・ドキュメントでは、次のDOCTYPE宣言が使用されます。
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">プロパティをエクスポート/インポートするときに、システムURI (http://java.sun.com/dtd/properties.dtd)にはアクセスしません。システムURIは、DTDを一意に識別する文字列として使用されます。その内容は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?> <!-- DTD for properties --> <!ELEMENT properties ( comment?, entry* ) > <!ATTLIST properties version CDATA #FIXED "1.0"> <!ELEMENT comment (#PCDATA) > <!ELEMENT entry (#PCDATA) > <!ATTLIST entry key CDATA #REQUIRED>
このクラスはスレッド・セーフです: 外部同期を必要とせずに、複数のスレッドで単一のPropertiesオブジェクトを共有できます。
- APIのノート:
Propertiesクラスは、そのスーパークラスHashtableから負荷係数の概念を継承しません。- 導入されたバージョン:
- 1.0
- 関連項目:
-
フィールドのサマリー
フィールド -
コンストラクタのサマリー
コンストラクタコンストラクタ説明デフォルト値を持たない空のプロパティ・リストを作成します。Properties(int initialCapacity) デフォルト値を持たず、動的にサイズを変更する必要なしに、指定された数の要素に対応する初期サイズの空のプロパティ・リストを作成します。Properties(Properties defaults) 指定されたデフォルト値を持つ空のプロパティ・リストを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明getProperty(String key) 指定されたキーを持つプロパティを、プロパティ・リストから探します。getProperty(String key, String defaultValue) 指定されたキーを持つプロパティを、プロパティ・リストから探します。voidlist(PrintStream out) 指定された出力ストリームに、プロパティ・リストを出力します。voidlist(PrintWriter out) 指定された出力ストリームに、プロパティ・リストを出力します。voidload(InputStream inStream) 入力バイト・ストリームからキーと要素が対になったプロパティ・リストを読み込みます。voidプロパティ・リスト(キーと要素のペア)を入力文字ストリームから単純な行指向形式で読み込みます。void指定された入力ストリーム上のXMLドキュメントにより表されるすべてのプロパティを、このプロパティ表にロードします。Enumeration<?> メイン・プロパティ・リストに同じ名前のキーが見つからない場合は、デフォルトのプロパティ・リストにある個別のキーを含む、このプロパティ・リストにあるすべてのキーの列挙を返します。voidsave(OutputStream out, String comments) 非推奨。プロパティ・リストの保存中にI/Oエラーが発生した場合、このメソッドはIOExceptionをスローしません。setProperty(String key, String value) Hashtableメソッドputをコールします。voidstore(OutputStream out, String comments) このProperties表内のプロパティ・リスト(キーと要素のペア)を、load(InputStream)メソッドを使用してProperties表にロードするのに適した形式で出力ストリームに書き込みます。voidこのProperties表内のプロパティ・リスト(キーと要素のペア)を、load(Reader)メソッドを使用するのに適した形式で出力文字ストリームに書き込みます。voidstoreToXML(OutputStream os, String comment) この表に含まれるすべてのプロパティを表すXMLドキュメントを発行します。voidstoreToXML(OutputStream os, String comment, String encoding) この表に含まれるすべてのプロパティを表すXMLドキュメントを、指定されたエンコーディングを使用して発行します。voidstoreToXML(OutputStream os, String comment, Charset charset) この表に含まれるすべてのプロパティを表すXMLドキュメントを、指定されたエンコーディングを使用して発行します。キーとそれに対応する値が文字列であるこのプロパティ・リストから変更不可能なキー・セットを返します。メイン・プロパティ・リストから同じ名前のキーがまだ見つからない場合は、デフォルト・プロパティ・リストに個別のキーを含めます。クラス Hashtableで宣言されたメソッド
clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, merge, put, putAll, rehash, remove, size, toString, values修飾子と型メソッド説明voidclear()このハッシュ表をクリアして、キーがない状態にします。clone()ハッシュ表のコピーを作成します。指定されたキーとその現在のマップされた値のマッピングをコンピュートしようとします。現在のマッピング(オプションの操作)がない場合はnullです。computeIfAbsent(Object key, Function<? super Object, ? extends Object> mappingFunction) 指定されたキーが値(または、nullにマップされます。)にまだ関連付けられていない場合、指定されたマッピング関数を使用してその値をコンピュートし、null(オプションの操作)でないかぎりこのマップに入力します。computeIfPresent(Object key, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction) 指定されたキーの値が存在し、null以外の場合は、キーとその現在のマップされた値(オプションの操作)を指定して、新しいマッピングのコンピュートを試みます。boolean指定された値にマップされているキーが、ハッシュ表にあるかどうかを判定します。booleancontainsKey(Object key) 指定されたオブジェクトが、ハッシュ表のキーかどうかを判定します。booleancontainsValue(Object value) このハッシュ表が1つまたは複数のキーをこの値にマッピングする場合にtrueを返します。elements()ハッシュ表にある値のリストを返します。entrySet()このマップに含まれるマッピングのSetビューを返します。booleanMapインタフェースでの定義に従って、指定されたObjectとこのMapを比較して等しいかどうかを判定します。指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。inthashCode()Mapインタフェースの定義に従って、このMapのハッシュ・コード値を返します。booleanisEmpty()値にマップされているキーが、ハッシュ表にあるかどうかを判定します。keys()ハッシュ表にあるキーのリストを返します。keySet()このマップに含まれるキーのSetビューを返します。merge(Object key, Object value, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction) 指定されたキーがまだ値に関連付けられていない場合、またはnullに関連付けられている場合は、指定されたnull以外の値(オプションの操作)に関連付けます。このハッシュ表で、指定されたkeyを指定されたvalueにマップします。void指定したマップからこのハッシュ表にすべてのマッピングをコピーします。protected voidrehash()ハッシュ表の容量を増やし、それを内部的に再編成して、エントリを調整してアクセスをより効率的にします。キー(およびそれに対応する値)をハッシュ表から削除します。intsize()ハッシュ表にあるキーの数を返します。toString()このHashtableオブジェクトの文字列表現を、エントリのセット(中括弧で囲まれ、ASCII文字"," (コンマとスペース)で区切られた)の形式で返します。values()このマップに含まれる値のCollectionビューを返します。クラスオブジェクトで宣言されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait修飾子と型メソッド説明protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。インタフェースMapで宣言されたメソッド
forEach, getOrDefault, putIfAbsent, remove, replace, replace, replaceAll修飾子と型メソッド説明default voidforEach(BiConsumer<? super Object, ? super Object> action) このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。default ObjectgetOrDefault(Object key, Object defaultValue) 指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はdefaultValueを返します。default ObjectputIfAbsent(Object key, Object value) 指定されたキーが値(または、nullにマップされます。)にまだ関連付けられていない場合、そのキーは指定された値に関連付けられ、nullを返します。それ以外の場合は、現在の値(オプションの操作)を返します。default boolean指定されたキーが現在、指定された値(オプションの操作)にマップされている場合にのみ、そのキーのエントリを削除します。default Object指定されたキーのエントリが、現在値(オプションの操作)にマップされている場合にのみ、そのエントリを置換します。default boolean指定された値(オプションの操作)に現在マップされている場合にのみ、指定されたキーのエントリを置換します。default voidreplaceAll(BiFunction<? super Object, ? super Object, ? extends Object> function) すべてのエントリが処理されるか、関数が例外(オプションの操作)をスローするまで、各エントリの値を、そのエントリの指定された関数を呼び出した結果に置き換えます。
-
フィールド詳細
-
defaults
protected volatile Properties defaultsプロパティ・リストにないキーのデフォルト値を持つプロパティ・リストです。
-
-
コンストラクタの詳細
-
Properties
public Properties()デフォルト値を持たない空のプロパティ・リストを作成します。- 実装上のノート:
- このコンストラクタで作成された
Propertiesオブジェクトの初期容量は指定されていません。
-
Properties
public Properties(int initialCapacity) デフォルト値を持たず、動的にサイズを変更する必要なしに、指定された数の要素に対応する初期サイズの空のプロパティ・リストを作成します。- パラメータ:
initialCapacity-Propertiesは、この多くの要素に対応するためのサイズになります- スロー:
IllegalArgumentException- 初期容量が0よりも小さい場合。- 導入されたバージョン:
- 10
-
Properties
public Properties(Properties defaults) 指定されたデフォルト値を持つ空のプロパティ・リストを作成します。- 実装上のノート:
- このコンストラクタで作成された
Propertiesオブジェクトの初期容量は指定されていません。 - パラメータ:
defaults- デフォルト値。
-
-
メソッドの詳細
-
setProperty
Hashtableメソッドputをコールします。getPropertyメソッドを使用したパラレル化のために提供されます。 プロパティのキーおよび値に文字列を使うことを義務付けます。 返される値は、putへのHashtableコールの結果です。- パラメータ:
key- プロパティ・リストに配置されるキー。value-keyに対応する値。- 戻り値:
- このプロパティ・リスト内での指定されたキーの以前の値。このキーが値を持っていなかった場合は
null。 - 導入されたバージョン:
- 1.2
- 関連項目:
-
load
public void load(Reader reader) throws IOException プロパティ・リスト(キーと要素のペア)を入力文字ストリームから単純な行指向形式で読み込みます。Propertiesは行単位で処理されます。 「自然行」と「論理行」の2種類の行があります。 自然行は、行末記号(
\n、\r、または\r\n)のセットまたはストリームの末尾で区切られた1行の文字列として定義されます。 自然行は、空白の行やコメント行であるか、キーと要素のペアの全部または一部を保持する場合があります。 論理行は、キーと要素のペアの全データを保持します。バックスラッシュ文字\を使用して行末記号シーケンスをエスケープすることで、隣接する複数の自然行にまたがる場合があります。 コメント行を、この方法で複数行にまたがらせることはできません。後述するように、コメントであるすべての自然行には、それぞれにコメント・インジケータが必要です。 行は、ストリームの終わりに達するまで入力から読み込まれます。空白文字だけを含む自然行は、空白と見なされて無視されます。 コメント行の最初の空白以外の文字としてASCII
'#'または'!'があります。コメント行も無視され、キー要素情報はエンコードされません。 このフォーマットは、行終了文字に加え、文字スペース(' '、'\u0020')、タブ('\t'、'\u0009')、およびフォーム・フィード('\f'、'\u000C')を空白と見なします。論理行が複数の自然な行に分散している場合、バックスラッシュは行終了文字シーケンス、行終了文字シーケンス、および次の行の先頭にある空白をエスケープしても、キーまたは要素の値には影響しません。 (ロード時の)キーと要素の構文解析に関する残りの記述では、行継続文字が削除されたあとで、キーと要素を構成するすべての文字が単一の自然行に表示されることを前提として説明します。 行末記号がエスケープされているかどうかを判定する場合、行末記号シーケンスの前の文字を調べるだけでは十分ではありません。行末記号がエスケープされるためには、連続した奇数のバックスラッシュが存在する必要があります。 入力は左から右に処理されるため、行末記号の前(またはほかの場所)に連続したバックスラッシュが2n (ゼロでない偶数)個存在する場合、エスケープ処理後に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"
最終的な結果でカンマのあとに必ずスペースが表示されるように、各\の前にスペースがあります。行の終わりを示す\と、継続行の先頭にある空白は破棄され、ほかの文字に置換されません。また、次の3番目の例では、行:
cheeses
は、キーが"cheeses"で、関連付けられている要素が空の文字列""であることを表します。キーおよび要素内の文字は、文字および文字列リテラル(「Java言語仕様」の3.3および3.10.6の項を参照)に使用されるものと同様のエスケープ・シーケンスで表現できます。 文字および文字列で使用される文字エスケープ・シーケンスやUnicodeエスケープとの違いは、次のとおりです。
- 8進数のエスケープは認識されない
- 文字シーケンス
\bは、バックスペース文字を表さない。 - このメソッドは、無効なエスケープ文字の前のバックスラッシュ文字
\をエラーとして処理しない。バックスラッシュは自動的に削除される。 たとえば、Java文字列にシーケンス"\z"が含まれていると、コンパイル時にエラーが発生する。 これに対し、このメソッドは自動的にバックスラッシュを削除する。 このため、このメソッドでは2文字のシーケンス"\b"は単一の文字'b'と等価であると見なされる。 - 単一引用符および二重引用符では、エスケープは不要である。ただし、前述のルールに従って、バックスラッシュに続く単一および二重引用符文字は、それぞれ単一引用符文字と二重引用符文字として処理される。
- Unicodeエスケープ・シーケンスで許可されるのは単一「u」文字のみ。
指定されたストリームは、このメソッドが復帰したあとも開いたままです。
- パラメータ:
reader- 入力文字ストリーム。- スロー:
IOException- 入力ストリームからの読込み中にエラーが発生した場合。IllegalArgumentException- 形式が不正なUnicodeエスケープが入力内に現れた場合。NullPointerException-readerがnullである場合- 導入されたバージョン:
- 1.6
-
load
public void load(InputStream inStream) throws IOException 入力バイト・ストリームからキーと要素が対になったプロパティ・リストを読み込みます。 入力ストリームはload(Reader)で規定される単純行指向フォーマットで、ISO 8859-1文字エンコーディングを使用することが前提されます。つまり、各バイトは1つのLatin1文字です。 Latin1にない文字、および特定の特殊文字は、「Java言語仕様」のセクション3.3で定義されているUnicodeエスケープを使用してキーおよび要素で表されます。指定されたストリームは、このメソッドが復帰したあとも開いたままです。
- パラメータ:
inStream- 入力ストリーム。- スロー:
IOException- 入力ストリームからの読込み中にエラーが発生した場合。IllegalArgumentException- 入力ストリームに形式が不正なUnicodeエスケープ・シーケンスが含まれる場合。NullPointerException-inStreamがNULLの場合。- 導入されたバージョン:
- 1.2
-
save
@Deprecated public void save(OutputStream out, String comments) 非推奨。プロパティ・リストの保存中にI/Oエラーが発生した場合、このメソッドはIOExceptionをスローしません。 プロパティ・リストの保存に推奨される方法は、store(OutputStream out, String comments)メソッドまたはstoreToXML(OutputStream os, String comment)メソッドを使用することです。store(OutputStream out, String comments)メソッドを呼び出し、スローされたIOExceptionを抑止します。- パラメータ:
out- 出力ストリーム。comments- プロパティ・リストの記述。- スロー:
ClassCastException- このPropertiesオブジェクトに、Stringsではないキーまたは値が含まれている場合。
-
store
public void store(Writer writer, String comments) throws IOException このProperties表内のプロパティ・リスト(キーと要素のペア)を、load(Reader)メソッドを使用するのに適した形式で出力文字ストリームに書き込みます。この
Properties表(存在する場合)のデフォルト表からのプロパティは、このメソッドによって書き込まれません。comments引数がnullでない場合は、ASCII文字の
#、commentsの文字列、および行区切り文字が最初に出力ストリームに書き込まれます。 このため、commentsは識別コメントとして使うことができます。 行フィード (\n)のいずれか、キャリッジ・リターン (\r)、またはコメント内の行フィード (\r\n)の直後にキャリッジ・リターンは、line separatorに置き換えられ、コメント内の次の文字が文字#または文字!でない場合は、その行セパレータのあとにASCII#が書き込まれます。java.properties.dateがコマンドラインで設定され、空でない(String.isEmptyによって決定されます)の場合、コメント行は次のように書き込まれます。 まず、#文字に続いて、プロパティの内容と行セパレータが書き込まれます。 システム・プロパティの値の行の終端文字はすべて、コメント引数に関して上記のように扱われます。 システム・プロパティが設定されていないか空の場合、コメント行は次のように書き込まれます。 まず、#文字が記述され、その後にDate.toStringメソッドが続くかのように書式化された現在の日時と行セパレータが続きます。続いて、この
Properties表内のすべてのエントリが1行に1つずつ書き出されます。 各エントリのキー文字列、ASCII文字の=、関連付けられた要素文字列が書き込まれます。 キーの場合、すべての空白文字は、前に\文字を付けて書き込まれます。 要素の場合、埋込み空白文字でも後書き空白文字でもない先行空白文字は、前に\を付けて書き込まれます。 キーと要素の文字#、!、=、および:は、必ず正しくロードされるように、前にバックスラッシュを付けて書き込まれます。エントリが書き込まれたあとで、出力ストリームがフラッシュされます。 出力ストリームはこのメソッドから復帰したあとも開いたままです。
- 実装要件:
- キーおよび要素は、
entrySet()内のキーの自然ソート順で記述されます。ただし、entrySet()がサブクラスによってオーバーライドされ、super.entrySet()とは異なる値を返します。 - パラメータ:
writer- 出力文字ストリーム・ライター。comments- プロパティ・リストの記述。- スロー:
IOException- このプロパティ・リストを特定の出力ストリームに書き込むと、IOExceptionがスローされます。ClassCastException- このPropertiesオブジェクトに、Stringsではないキーまたは値が含まれている場合。NullPointerException-writerがnullである場合。- 導入されたバージョン:
- 1.6
-
store
public void store(OutputStream out, String comments) throws IOException このProperties表内のプロパティ・リスト(キーと要素のペア)を、load(InputStream)メソッドを使用してProperties表にロードするのに適した形式で出力ストリームに書き込みます。この
Properties表(存在する場合)のデフォルト表からのプロパティは、このメソッドによって書き込まれません。このメソッドは、コメントおよびプロパティのキーと値を、
store(Writer)で規定されたのと同じ形式で出力します。ただし、次の点が異なります。- ストリームは、ISO 8859-1文字エンコーディングを使用して書き込まれる。
- コメント内のLatin-1でない文字は、適切なUnicode 16進値xxxxを使用して
\uxxxxとして書き込まれる。 - プロパティのキーまたは値に含まれる
\u0020より小さい文字および\u007Eより大きい文字は、適切な16進値xxxxを使用して\uxxxxとして書き込まれる。
エントリが書き込まれたあとで、出力ストリームがフラッシュされます。 出力ストリームはこのメソッドから復帰したあとも開いたままです。
- パラメータ:
out- 出力ストリーム。comments- プロパティ・リストの記述。- スロー:
IOException- このプロパティ・リストを特定の出力ストリームに書き込むと、IOExceptionがスローされます。ClassCastException- このPropertiesオブジェクトに、Stringsではないキーまたは値が含まれている場合。NullPointerException-outがnullである場合。- 導入されたバージョン:
- 1.2
-
loadFromXML
public void loadFromXML(InputStream in) throws IOException, InvalidPropertiesFormatException 指定された入力ストリーム上のXMLドキュメントにより表されるすべてのプロパティを、このプロパティ表にロードします。XMLドキュメントには、次のDOCTYPE宣言が必要です。
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
さらに、ドキュメントは前述のプロパティDTDを満たす必要があります。実装は、
UTF-8またはUTF-16エンコーディングを使用するXMLドキュメントを読み取る必要があります。 実装は追加のエンコーディングをサポートできます。このメソッドが戻ると、指定されたストリームが閉じられます。
- パラメータ:
in- XMLドキュメントの読込み元の入力ストリーム。- スロー:
IOException- 指定した入力ストリームから読み取ると、IOExceptionになります。UnsupportedEncodingException- ドキュメントのエンコーディング宣言を読み取ることができ、そこにサポートされていないエンコーディングが指定されている場合InvalidPropertiesFormatException- 入力ストリーム上のデータが、要求されたドキュメント型を持つ有効なXMLドキュメントにならない場合。NullPointerException-inがnullである場合。- 導入されたバージョン:
- 1.5
- 外部仕様
- 関連項目:
-
storeToXML
public void storeToXML(OutputStream os, String comment) throws IOException この表に含まれるすべてのプロパティを表すXMLドキュメントを発行します。props.storeToXML(os, comment)形式のこのメソッドの呼出しは、起動props.storeToXML(os, comment, "UTF-8");とまったく同じように動作します。- パラメータ:
os- XMLドキュメントの発行先の出力ストリームcomment- プロパティ・リストの記述。コメントが必要ない場合はnull。- スロー:
IOException- 指定した出力ストリームに書き込むと、IOExceptionになります。NullPointerException-osがnullである場合。ClassCastException- このPropertiesオブジェクトに、Stringsではないキーまたは値が含まれている場合。- 導入されたバージョン:
- 1.5
- 関連項目:
-
storeToXML
public void storeToXML(OutputStream os, String comment, String encoding) throws IOException この表に含まれるすべてのプロパティを表すXMLドキュメントを、指定されたエンコーディングを使用して発行します。このXMLドキュメントでは、次のDOCTYPEが宣言されます。
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
指定されたコメントが
nullの場合、ドキュメントにコメントは格納されません。実装は、
UTF-8またはUTF-16エンコーディングを使用するXMLドキュメントの書込みをサポートする必要があります。 実装は追加のエンコーディングをサポートできます。指定されたストリームは、このメソッドが復帰したあとも開いたままです。
このメソッドは、storeToXML(OutputStream os, String comment, Charset charset)と同じように動作しますが、「文字セットを参照」は指定されたエンコーディング名を使用します。
- パラメータ:
os- XMLドキュメントの発行先の出力ストリームcomment- プロパティ・リストの記述。コメントが必要ない場合はnull。encoding- サポートされる文字エンコーディングの名前- スロー:
IOException- 指定した出力ストリームに書き込むと、IOExceptionになります。UnsupportedEncodingException- エンコーディングが実装によってサポートされない場合。NullPointerException-osがnull、またはencodingがnullの場合。ClassCastException- このPropertiesオブジェクトに、Stringsではないキーまたは値が含まれている場合。- 導入されたバージョン:
- 1.5
- 外部仕様
- 関連項目:
-
storeToXML
public void storeToXML(OutputStream os, String comment, Charset charset) throws IOException この表に含まれるすべてのプロパティを表すXMLドキュメントを、指定されたエンコーディングを使用して発行します。このXMLドキュメントでは、次のDOCTYPEが宣言されます。
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
指定されたコメントが
nullの場合、ドキュメントにコメントは格納されません。実装は、
UTF-8またはUTF-16エンコーディングを使用するXMLドキュメントの書込みをサポートする必要があります。 実装は追加のエンコーディングをサポートできます。指定された文字セットのマップ不可能な文字は、数値の文字参照としてエンコードされます。
指定されたストリームは、このメソッドが復帰したあとも開いたままです。
- パラメータ:
os- XMLドキュメントの発行先の出力ストリームcomment- プロパティ・リストの記述。コメントが必要ない場合はnull。charset- 文字セット- スロー:
IOException- 指定した出力ストリームに書き込むと、IOExceptionになります。NullPointerException-osまたはcharsetがnullの場合。ClassCastException- このPropertiesオブジェクトに、Stringsではないキーまたは値が含まれている場合。- 導入されたバージョン:
- 10
- 外部仕様
- 関連項目:
-
getProperty
-
getProperty
-
propertyNames
public Enumeration<?> propertyNames()メイン・プロパティ・リストに同じ名前のキーが見つからない場合は、デフォルトのプロパティ・リストにある個別のキーを含む、このプロパティ・リストにあるすべてのキーの列挙を返します。- 戻り値:
- プロパティ・リストにあるすべてのキーの列挙。デフォルトのプロパティ・リストにあるキーを含む。
- スロー:
ClassCastException- 文字列でないキーがこのプロパティ・リスト内に存在する場合。- 関連項目:
-
stringPropertyNames
キーとそれに対応する値が文字列であるこのプロパティ・リストから変更不可能なキー・セットを返します。メイン・プロパティ・リストから同じ名前のキーがまだ見つからない場合は、デフォルト・プロパティ・リストに個別のキーを含めます。 キーまたは値がString型ではないプロパティは省略されます。返されるセットは、この
Propertiesオブジェクトによってバックアップされません。 このPropertiesオブジェクトに対する変更は、返されたセットには反映されません。- 戻り値:
- このプロパティ・リスト内の変更不可能なキー・セット。キーとそれに対応する値は、デフォルトのプロパティ・リストのキーを含む文字列です。
- 導入されたバージョン:
- 1.6
- 関連項目:
-
list
public void list(PrintStream out) 指定された出力ストリームに、プロパティ・リストを出力します。 このメソッドはデバッグに便利です。- パラメータ:
out- 出力ストリーム。- スロー:
ClassCastException- このプロパティ・リスト内のキーまたは値が文字列でない場合。
-
list
public void list(PrintWriter out) 指定された出力ストリームに、プロパティ・リストを出力します。 このメソッドはデバッグに便利です。- パラメータ:
out- 出力ストリーム。- スロー:
ClassCastException- このプロパティ・リスト内のキーまたは値が文字列でない場合。- 導入されたバージョン:
- 1.1
-