ResourceBundle.GetBundle メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
GetBundle(String) |
指定したベース名、既定のロケール、呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。 |
GetBundle(String, Locale) |
指定したベース名とロケール、および呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。 |
GetBundle(String, ResourceBundle+Control) |
指定したベース名、既定のロケール、呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。 |
GetBundle(String, Locale, ClassLoader) |
指定した基本名、ロケール、およびクラス ローダーを使用してリソース バンドルを取得します。 |
GetBundle(String, Locale, ResourceBundle+Control) |
指定したベース名、既定のロケール、呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。 |
GetBundle(String, Locale, ClassLoader, ResourceBundle+Control) |
指定したベース名、既定のロケール、呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。 |
GetBundle(String)
指定したベース名、既定のロケール、呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
戻り値
指定されたベース名と既定のロケールのリソース バンドル
- 属性
例外
が ResourceBundle
見つからない場合は 。
注釈
指定したベース名、既定のロケール、呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。 このメソッドの呼び出しは、blockquote、/blockquotegetBundle(baseName, Locale.getDefault(), this.getClass().getClassLoader())
> の<呼び出し<と同じです>
の java.util.ResourceBundle.getBundle(java.lang.String)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
適用対象
GetBundle(String, Locale)
指定したベース名とロケール、および呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? locale);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
- locale
- Locale
リソース バンドルが必要なロケール
戻り値
指定されたベース名とロケールのリソース バンドル
- 属性
例外
リソース バンドルが見つからない場合は 。
注釈
指定したベース名とロケール、および呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。 このメソッドの呼び出しは、blockquote、/blockquotegetBundle(baseName, locale, this.getClass().getClassLoader())
> の<呼び出し<と同じです>
の java.util.ResourceBundle.getBundle(java.lang.String, java.util.Locale)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
適用対象
GetBundle(String, ResourceBundle+Control)
指定したベース名、既定のロケール、呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.ResourceBundle.Control? control);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.ResourceBundle.Control -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
- control
- ResourceBundle.Control
アクセス シーケンスを制御するコントロール
戻り値
指定されたベース名と既定のロケールのリソース バンドル
- 属性
注釈
の java.util.ResourceBundle.getBundle(java.lang.String)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
適用対象
GetBundle(String, Locale, ClassLoader)
指定した基本名、ロケール、およびクラス ローダーを使用してリソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? locale, Java.Lang.ClassLoader? loader);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale * Java.Lang.ClassLoader -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
- locale
- Locale
リソース バンドルが必要なロケール
- loader
- ClassLoader
リソース バンドルの読み込み元となるクラス ローダー
戻り値
指定されたベース名とロケールのリソース バンドル
- 属性
例外
が ResourceBundle
見つからない場合は 。
注釈
指定した基本名、ロケール、およびクラス ローダーを使用してリソース バンドルを取得します。
これは、blockquote を呼び出すことと同じです。 <>
getBundle(baseName, targetLocale, loader, control)
<の既定のControl
インスタンスを渡す /blockquote>。 既定の動作の変更の説明を参照してください。 既定の動作を次に示します。
<b>"default_behavior">リソース バンドルの検索と読み込み戦略</b>
getBundle
では、基本名、指定されたロケール、および既定のロケール (から java.util.Locale#getDefault() Locale.getDefault
取得) を使用して、"candidates"><em>候補バンドル名</em> のシーケンスが生成されます。 指定したロケールの言語、スクリプト、国、およびバリアントがすべて空の文字列である場合、基本名は唯一の候補バンドル名です。 それ以外の場合は、指定したロケール (言語、スクリプト、国、バリアント) の属性値から候補ロケールのリストが生成され、ベース名に追加されます。 通常、これは次のようになります。
baseName + "_" + language + "_" + script + "_" + country + "_" + variant
baseName + "_" + language + "_" + script + "_" + country
baseName + "_" + language + "_" + script
baseName + "_" + language + "_" + country + "_" + variant
baseName + "_" + language + "_" + country
baseName + "_" + language
最終的なコンポーネントが空の文字列である候補バンドル名は、アンダースコアと共に省略されます。 たとえば、country が空の文字列の場合、上記の 2 番目と 5 番目の候補バンドル名は省略されます。 また、script が空の文字列の場合、script を含む候補名は省略されます。 たとえば、言語 "de" とバリアント "JAVA" を持つロケールでは、以下のベース名 "MyResource" を持つ候補名が生成されます。
MyResource_de__JAVA
MyResource_de
バリアントに 1 つ以上のアンダースコアが含まれている場合は、最後のアンダー('_')スコアを切り捨てることによって生成されるバンドル名のシーケンスと、その後の部分が、元のバリアントの候補バンドル名の後に挿入されます。 たとえば、言語が "en" のロケール、"Latn、country "US"、variant "WINDOWS_VISTA"、バンドルベース名 "MyResource" のスクリプトでは、以下の候補バンドル名の一覧が生成されます。
MyResource_en_Latn_US_WINDOWS_VISTA
MyResource_en_Latn_US_WINDOWS
MyResource_en_Latn_US
MyResource_en_Latn
MyResource_en_US_WINDOWS_VISTA
MyResource_en_US_WINDOWS
MyResource_en_US
MyResource_en
<blockquote><b>Note:</b> 一部 Locale
の s では、候補バンドル名のリストに余分な名前が含まれているか、バンドル名の順序が少し変更されます。 詳細については、 の既定の実装の Control#getCandidateLocales(String, Locale) getCandidateLocales
説明を参照してください。</blockquote>
getBundle
次に、候補のバンドル名を反復処理して、実際のリソース バンドルをインスタンス化</em> できる<>最初の名前を見つけます。 既定のコントロールの Control#getFormats getFormats
メソッドを使用します。これにより、生成された名前ごとに 2 つのバンドル名が生成されます。1 つ目はクラス名、2 つ目はプロパティ ファイル名です。 候補バンドル名ごとに、リソース バンドルの作成が試行されます。
<ul><li>まず、生成されたクラス名を使用してクラスを読み込もうとします。 指定したクラス ローダーを使用してこのようなクラスを見つけて読み込むことができる場合は、ResourceBundle と互換性のある割り当てであり、ResourceBundle からアクセスでき、インスタンス化することができ、このクラスの新しいインスタンスを作成し、getBundle
それを em>結果リソース バンドル</em> として<使用します。
<li>それ以外の場合は、 getBundle
生成されたプロパティ ファイル名を使用してプロパティ リソース ファイルの検索を試みます。 すべての "." 文字を "/" に置き換え、文字列 ".properties" を追加することで、候補バンドル名からパス名を生成します。 を使用して java.lang.ClassLoader#getResource(java.lang.String) ClassLoader.getResource
、この名前の "リソース" を見つけようとします。 (という意味の "リソース" は、リソース バンドルの getResource
内容とは何の関係もなく、ファイルなどの単なるデータのコンテナーであることに注意してください)。"リソース" が見つかると、その内容から新 PropertyResourceBundle
しいインスタンスの作成が試みられます。 成功した場合、このインスタンスは <em>の結果リソース バンドル</em> になります。 </ul>
これは、結果のリソース バンドルがインスタンス化されるか、候補バンドル名のリストが使い果たされるまで続きます。 一致するリソース バンドルが見つからない場合は、既定のコントロールの Control#getFallbackLocale getFallbackLocale
メソッドが呼び出され、現在の既定のロケールが返されます。 このロケールを使用して候補ロケール名の新しいシーケンスが生成され、上記のように再度検索されます。
それでも結果バンドルが見つからない場合は、ベース名だけが検索されます。 それでも失敗した場合は、 MissingResourceException
がスローされます。
"parent_chain"> 結果のリソース バンドルが見つかったら、その <em>親チェーン</em> がインスタンス化されます。 結果バンドルに既に親がある場合 (キャッシュから返された可能性があるため)、チェーンは完了です。
それ以外の場合は、 getBundle
結果リソース バンドルを生成したパス中に使用された候補ロケール リストの残りの部分を調べます。 (前と同様に、最終的なコンポーネントが空の文字列であるバンドル名の候補は省略されます)。候補リストの末尾になると、プレーンバンドル名が試行されます。 それぞれの候補バンドル名を使用して、リソース バンドルのインスタンス化を試みます (最初にクラスを探してから、前述のようにプロパティ ファイルを探します)。
成功するたびに、以前にインスタンス化されたリソース バンドルの #setParent(java.util.ResourceBundle) setParent
メソッドを新しいリソース バンドルと共に呼び出します。 これは、名前のリストが使い果たされるか、現在のバンドルに null 以外の親が既に存在するまで続きます。
親チェーンが完了すると、バンドルが返されます。
<b>注:</b は>getBundle
インスタンス化されたリソース バンドルをキャッシュし、同じリソース バンドル インスタンスを複数回返す場合があります。
<b>注:</b>引数は baseName
完全修飾クラス名である必要があります。 ただし、以前のバージョンとの互換性のために、Java SE ランタイム環境ではこれを検証しないため、("." を使用して) 完全修飾クラス名の代わりにパス名 ("/") を指定することで、 にアクセス PropertyResourceBundle
できます。
"default_behavior_example"><strong>Example:</strong>
次のクラスファイルとプロパティ ファイルが提供されています: ul>li MyResources.class <li>MyResources.properties <li MyResources_fr.properties <li>>MyResources_fr_CH.class <li>MyResources_fr_CH.properties li MyResources_en.properties <<li>>MyResources_es_ES.class </ul><<>
すべてのファイルの内容は有効です (つまり、".class" ファイルの ResourceBundle
パブリックの非抽象サブクラス、構文的に正しい ".properties" ファイル)。 既定のロケールは です Locale("en", "GB")
。
以下のロケール引数を使用して を呼び出 getBundle
すと、リソース バンドルが次のようにインスタンス化されます。
<table class="striped"><キャプション style="display:none">getBundle() locale to resource bundle mapping</キャプション><thead<>tr><th scope="col">Locale</th th><scope="col">Resource bundle</th></tr></thead><tbody<>tr><th scope="row">Locale("fr", "CH")</th><td>MyResources_fr_CH.class, parent MyResources_fr.properties, parent MyResources.class</td></tr th><><scope="row">Locale("fr", "FR")</th><td>MyResources_fr.properties, parent MyResources.class</td></tr tr>><<th scope="row">Locale("de", "DE")</th><td>MyResources_en.properties, parent MyResources.class</td></tr tr<>><th scope="row">Locale("en", "US")</th><td>MyResources_en.properties, parent MyResources.class</td></tr tr>><<th scope="row">Locale("es", "ES")</th><td>MyResources_es_ES.class, parent MyResources.class</td></tr<>/tbody></table>
ファイル MyResources_fr_CH.properties は、MyResources_fr_CH.class によって非表示になっているため、使用されません。 同様に、MyResources.properties も MyResources.class によって非表示になります。
1.2 に追加されました。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
適用対象
GetBundle(String, Locale, ResourceBundle+Control)
指定したベース名、既定のロケール、呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? targetLocale, Java.Util.ResourceBundle.Control? control);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale * Java.Util.ResourceBundle.Control -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
- targetLocale
- Locale
リソース バンドルのターゲット ロケール
- control
- ResourceBundle.Control
アクセス シーケンスを制御するコントロール
戻り値
指定されたベース名と既定のロケールのリソース バンドル
- 属性
注釈
の java.util.ResourceBundle.getBundle(java.lang.String)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
適用対象
GetBundle(String, Locale, ClassLoader, ResourceBundle+Control)
指定したベース名、既定のロケール、呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? targetLocale, Java.Lang.ClassLoader? loader, Java.Util.ResourceBundle.Control? control);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale * Java.Lang.ClassLoader * Java.Util.ResourceBundle.Control -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
- targetLocale
- Locale
リソース バンドルのターゲット ロケール
- loader
- ClassLoader
リソースを読み込むクラス ローダー
- control
- ResourceBundle.Control
アクセス シーケンスを制御するコントロール
戻り値
指定されたベース名と既定のロケールのリソース バンドル
- 属性
注釈
の java.util.ResourceBundle.getBundle(java.lang.String)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。