クラスPropertyResourceBundle
java.lang.Object
java.util.ResourceBundle
java.util.PropertyResourceBundle
public class PropertyResourceBundle extends ResourceBundle
PropertyResourceBundleは、プロパティ・ファイルからの一連のstatic文字列を使用してロケール用のリソースを管理する、ResourceBundleの具象サブクラスです。 リソース・バンドルの詳細については、ResourceBundleを参照してください。
ほかのタイプのリソース・バンドルと違い、PropertyResourceBundleはサブクラス化されません。 代わりに、リソース・データを格納するプロパティ・ファイルを提供します。 ResourceBundle.getBundleは、自動的に適切なプロパティ・ファイルを探し、そのファイルを参照するPropertyResourceBundleを作成します。 検索とインスタンス化の方法の詳細は、ResourceBundle.getBundleを参照してください。
次の例は、ベース名MyResourcesのリソース・バンドル・ファミリのメンバーを示しています。 テキストでは、バンドル・ファミリのドイツ・メンバーであるバンドル「MyResources_de」を定義します。 このメンバーはPropertyResourceBundleに基づいているため、テキストはMyResources_de.propertiesファイルの内容です(関連する例は、ListResourceBundleのサブクラスとして実装されるバンドルをこのファミリに追加する方法を示しています)。 この例のキーの形式は「s1」などです。実際のキーは、バンドルからオブジェクトを取り出すためにプログラムで使用するキーと同じであるかぎり、なんでもかまいません。 キーには、大文字/小文字の区別があります。
# MessageFormat pattern
s1=Die Platte \"{1}\" enthält {0}.
# location of {0} in pattern
s2=1
# sample disk name
s3=Meine Platte
# first ChoiceFormat choice
s4=keine Dateien
# second ChoiceFormat choice
s5=eine Datei
# third ChoiceFormat choice
s6={0,number} Dateien
# sample date
s7=3. März 1996
- APIのノート:
PropertyResourceBundleは、プロパティ・ファイルを表すInputStreamまたはReaderから構築できます。InputStreamからPropertyResourceBundleインスタンスを構築するには、入力ストリームをUTF-8でエンコードする必要があります。 デフォルトでは、入力ストリームの読取り時にMalformedInputExceptionまたはUnmappableCharacterExceptionが発生した場合、PropertyResourceBundleインスタンスは例外前の状態にリセットされ、ISO-8859-1で入力ストリームが再読取りされ、読取りが続行されます。 システム・プロパティjava.util.PropertyResourceBundle.encodingが"ISO-8859-1"または"UTF-8"に設定されている場合、入力ストリームはそのエンコードでのみ読み取られ、無効な順序が検出されると例外がスローされます。 "ISO-8859-1"が指定されている場合、ISO-8859-1エンコーディングで表現できない文字は、「Java言語仕様」の3.3セクションで定義されているUnicodeエスケープで表す必要がありますが、Readerを使用する他のコンストラクタにはその制限はありません。 このシステム・プロパティでは、他のエンコーディング値は無視されます。 このクラスの初期化時にシステム・プロパティが読み取られ、評価されます。 プロパティを変更または削除しても、初期化後に効果はありません。- 実装要件:
PropertyResourceBundleサブクラスの実装は、それが複数のスレッドで同時に使用される場合、スレッドセーフである必要があります。 このクラスの非抽象メソッドのデフォルト実装はスレッドセーフです。- 導入されたバージョン:
- 1.1
- 関連項目:
-
ネストされたクラスのサマリー
クラスResourceBundleで宣言されたネストされたクラス/インタフェース
ResourceBundle.Control修飾子と型クラス説明static classResourceBundle.Controlは、バンドル・ロード処理中にResourceBundle.getBundleファクトリによって呼び出される一連のコールバック・メソッドを定義します。 -
フィールドのサマリー
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明PropertyResourceBundle(InputStream stream) InputStreamからプロパティ・リソース・バンドルを作成します。PropertyResourceBundle(Reader reader) Readerからプロパティ・リソース・バンドルを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明getKeys()このResourceBundleとその親バンドル内に含まれるキーのEnumerationを返します。handleGetObject(String key) このリソース・バンドルから指定されたキーのオブジェクトを取得します。このResourceBundleにのみ含まれるキーのSetを返します。クラスで宣言されたメソッド ResourceBundle
clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, keySet, setParent修飾子と型メソッド説明static final void呼び出し元のモジュールによってロードされたすべてのリソース・バンドルをキャッシュから削除します。static final voidclearCache(ClassLoader loader) 指定されたクラス・ローダーによってロードされたすべてのリソース・バンドルをキャッシュから削除します。booleancontainsKey(String key) 指定されたkeyがこのResourceBundleまたはその親バンドル内に含まれるかどうかを判定します。このバンドルのベース名を返します。未知の場合はnullを返します。static final ResourceBundle指定したベース名、デフォルト・ロケール、および呼び出し元モジュールを使用してリソース・バンドルを取得します。static ResourceBundle指定されたモジュールのかわりに、指定されたベース名およびデフォルト・ロケールを使用してリソース・バンドルを取得します。static final ResourceBundle指定したベース名とロケール、および呼び出し元モジュールを使用してリソース・バンドルを取得します。static ResourceBundlegetBundle(String baseName, Locale locale, ClassLoader loader) 指定された基底名、ロケール、クラス・ローダーを使用して、リソース・バンドルを取得します。static ResourceBundlegetBundle(String baseName, Locale targetLocale, ClassLoader loader, ResourceBundle.Control control) 指定された基底名、ターゲット・ロケール、クラス・ローダー、およびコントロールを使用して、リソース・バンドルを返します。static ResourceBundle指定されたモジュールのかわりに、指定されたベース名とロケールを使用してリソース・バンドルを取得します。static final ResourceBundlegetBundle(String baseName, Locale targetLocale, ResourceBundle.Control control) 指定された基底名、ターゲット・ロケール、コントロール、および呼出し側のクラス・ローダーを使用して、リソース・バンドルを返します。static final ResourceBundlegetBundle(String baseName, ResourceBundle.Control control) 指定された基底名、デフォルトのロケール、および指定されたコントロールに基づいて、リソース・バンドルを返します。リソース・バンドルのLocaleを返します。final Objectこのリソース・バンドルまたはその親リソース・バンドルのいずれかから指定されたキーのオブジェクトを取得します。final Stringこのリソース・バンドルまたはその親リソース・バンドルのいずれかから指定されたキーの文字列を取得します。final String[]getStringArray(String key) このリソース・バンドルまたはその親リソース・バンドルのいずれかから指定されたキーの文字列配列を取得します。keySet()このResourceBundleとその親バンドル内に含まれるすべてのキーのSetを返します。protected voidsetParent(ResourceBundle parent) このバンドルの親バンドルを設定します。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
PropertyResourceBundle
public PropertyResourceBundle(InputStream stream) throws IOException InputStreamからプロパティ・リソース・バンドルを作成します。 このコンストラクタは、デフォルトでプロパティ・ファイルをUTF-8で読み取ります。 入力ストリームの読取り時にMalformedInputExceptionまたはUnmappableCharacterExceptionが発生した場合、PropertyResourceBundleインスタンスは例外前の状態にリセットされ、ISO-8859-1の入力ストリームが再読み込まれ、読取りが続行されます。 システム・プロパティjava.util.PropertyResourceBundle.encodingが"ISO-8859-1"または"UTF-8"に設定されている場合、入力ストリームはそのエンコードでのみ読み取られ、無効な順序が検出されると例外がスローされます。 このシステム・プロパティでは、他のエンコーディング値は無視されます。 このクラスの初期化時にシステム・プロパティが読み取られ、評価されます。 プロパティを変更または削除しても、初期化後に効果はありません。- パラメータ:
stream- 読取り元のプロパティ・ファイルを表すInputStream。- スロー:
IOException- 入出力エラーが発生した場合NullPointerException-streamがnullである場合IllegalArgumentException-streamに形式が不正なUnicodeエスケープ・シーケンスが含まれる場合。MalformedInputException- システム・プロパティjava.util.PropertyResourceBundle.encodingが"UTF-8"に設定され、streamに無効なUTF-8バイト・シーケンスが含まれている場合。UnmappableCharacterException- システム・プロパティjava.util.PropertyResourceBundle.encodingが"UTF-8"に設定され、streamにマッピングできないUTF-8バイト・シーケンスが含まれている場合。
-
PropertyResourceBundle
public PropertyResourceBundle(Reader reader) throws IOException Readerからプロパティ・リソース・バンドルを作成します。 コンストラクタPropertyResourceBundle(InputStream)の場合と異なり、入力プロパティ・ファイルのエンコーディングに関する制限はありません。- パラメータ:
reader- 読取り元のプロパティ・ファイルを表すReader。- スロー:
IOException- 入出力エラーが発生した場合NullPointerException-readerがnullである場合IllegalArgumentException-readerから形式が不正なUnicodeエスケープ・シーケンスが出現する場合。- 導入されたバージョン:
- 1.6
-
-
メソッドの詳細
-
handleGetObject
クラスからコピーされた説明:ResourceBundleこのリソース・バンドルから指定されたキーのオブジェクトを取得します。 このリソース・バンドルが、指定されたキーのオブジェクトを含まない場合は、nullを返します。- 定義:
handleGetObject、クラスResourceBundle- パラメータ:
key- 目的のオブジェクトのキー- 戻り値:
- 指定されたキーのオブジェクト、またはnull
-
getKeys
public Enumeration<String> getKeys()このResourceBundleとその親バンドル内に含まれるキーのEnumerationを返します。- 定義:
getKeys、クラスResourceBundle- 戻り値:
- この
ResourceBundleとその親バンドル内に含まれるキーのEnumeration。 - 関連項目:
-
handleKeySet
このResourceBundleにのみ含まれるキーのSetを返します。- オーバーライド:
handleKeySet、クラスResourceBundle- 戻り値:
- この
ResourceBundleにのみ含まれているキーのSet - 導入されたバージョン:
- 1.6
- 関連項目:
-